PQKQ=Np>ml@Ad-3B
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
literal 0
HcmV?d00001
diff --git a/iconv/media/cmp_UTF8.png b/iconv/media/cmp_UTF8.png
new file mode 100755
index 0000000000000000000000000000000000000000..7bbfd3c2866fe658e8af504d0091bf1fb7973fe2
GIT binary patch
literal 3709
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
literal 0
HcmV?d00001
diff --git a/iconv/test_GBK.txt b/iconv/test_GBK.txt
new file mode 100644
index 00000000..13745d62
--- /dev/null
+++ b/iconv/test_GBK.txt
@@ -0,0 +1,3 @@
+123
+abc
+й
diff --git a/iconv/test_UTF8.txt b/iconv/test_UTF8.txt
new file mode 100644
index 00000000..5871326c
--- /dev/null
+++ b/iconv/test_UTF8.txt
@@ -0,0 +1,3 @@
+123
+abc
+中国
--
Gitee