小明思考

高性能服务器端计算
posts - 70, comments - 428, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

[Tips]如何识别字符编码

Posted on 2006-09-27 10:00 小明 阅读(3144) 评论(2)  编辑 收藏 引用 所属分类: Tools
如果哪一天你的程序收到一段不明编码的字符串,或者别人给了一个你看不懂的文本文件,你应该如何去识别字符串的编码呢?

一种是程序中用的方法,可以使用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

Feedback

# re: [Tips]如何识别字符编码  回复  更多评论   

2006-09-27 12:24 by shaker
这个只能说是文件啦 如果只是单纯的字符串肯定是不能这样的

# re: [Tips]如何识别字符编码  回复  更多评论   

2008-01-30 11:56 by tip
可以分享一下两个小工具的源码吗?javabrew@126.com

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理