如果哪一天你的程序收到一段不明编码的字符串,或者别人给了一个你看不懂的文本文件,你应该如何去识别字符串的编码呢?
一种是程序中用的方法,可以使用ICU之类的库来帮你识别,如果你的字符串越长,它所能猜到的概率就越大。
另外一种方法是使用IE来帮助你查看。使用IE打开不明编码的文件,然后选择Encoding,不停的切换编码,基本上看起来像文字的时候,就是那个编码了:).这个方法很简单,比较实用。
另外对于unicode的编码,观察其BOM,也有助于你去猜测编码。
UTF-8:
EF BB BF E6 B5 8B E8 AF 95 31 32 33 34
UTF-16:
FF FE 4B 6D D5 8B 31 00 32 00 33 00 34 00
UTF-16 Big endian :
FE FF 6D 4B 8B D5 00 31 00 32 00 33 00 34
最后附上两个小工具,能帮你生成各种文字的字符和识别字符在不同code page下的编码。just have fun
http://www.cppblog.com/Files/sandy/encoding_tools.rar