我正在尝试将 CP1252 编码的字符串 Çàïèñêè ýêñïåäèòîðà 转换为 UTF-8。我尝试过这个命令:
iconv -c -f=WINDOWS-1252 -t=UTF-8 test.txt
运气不好,得到了一些奇怪的结果:
�������...�
我尝试在这里输入相同的字符串 (Çàïèñêè ýêñïåäèòîðà),他们能够毫无问题地转换它:http://www.artlebedev.ru/tools/decoder/ http://www.artlebedev.ru/tools/decoder/
出了什么问题?
当你转换CP1252编码的字符串时Çàïèñêè ýêñïåäèòîðà
使用命令转换为 UTF-8iconv.exe -f CP1252 -t UTF-8 test.txt >testout.txt
然后是源文件test.txt
(十六进制视图:
) 将被转换为目标文件testout.txt
(十六进制视图:
) 这是 UTF-8 代码Çàïèñêè ýêñïåäèòîðà
.
你放入的同样的垃圾也会从另一端出来。 iconv 的行为是正确的并且符合预期。
您感到困惑的是,您没有看到您所期望的内容,那是因为您输入的 8 位字符串实际上是编码在Windows-1251(西里尔字母)代码页 http://www.unicodetools.com/unicode/codepages.php?codepage=windows-1251.
→ So the correct code page is not CP1252 but CP1251 ←
Command iconv.exe -f CP1251 -t UTF-8 test.txt >testout2.txt
转换源文件test.txt
进入目标文件testout2.txt
(十六进制视图:
) 这是 UTF-8 代码Записки экспедитора
这是您的用户期望看到的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)