我在工作中经常需要查看几个字的编码,或者查看几个编码对应的字符,所以写了这个工具。用户可以在文本栏输入文本,或者在编码栏输入对应的编码。在您输入的同时,其它各栏会同步变化。输入编码格式是固定的:必须用两个16进制数字表示一个字节。每个字节用一个空格分隔。
CodeView有一点特色,就是用户可以设置要显示的代码页(两个左边有按钮的编码栏)。点击代码页按钮,在弹出的对话框选择代码页:
可以用编码栏右侧的保存按钮将数据保存到文件,可以选择是否需要加BOM。BOM的概念可以见 浅谈文字编码和Unicode(下) 的4.2.4节。如果您不熟悉UTF16-LE、UTF16-BE等概念,可以看看这篇文章的的4.2节。
请注意:当某个编码栏不支持特定字符时,CodeView会显示默认编码,通常是3F。
CodeView 是一个查看文本编码的小工具。我们用它来解决这个乱码问题。
2.1 得到CP1252字符
首先要得到命名实体对应的乱码,即CP1252字符。
à′DÅêÕμ½£¬D»D»
如果你的邮件已经是这个样子,就可以跳过这步。如果你的邮件是
À´ÐÅÊÕµ½£¬Ð»Ð»
你就新建一个文本文件,内容如下:
BODY标签之间粘贴上要转换的命名实体。保存到html文件,用浏览器打开,就可以看到:
à′DÅêÕμ½£¬D»D»
这些CP1252字符。
2.2 由CP1252字符得到对应编码
打开CodeView。CodeView有两行是可以自己设置编码的。把第二行设置成CP1252,将最后一行设置成CP936,即GBK。 然后把前面的字符粘贴到文本行
这样就可以从CP1252行得到CP1252字符对应的编码文本。在CP1252行点右键,在右键菜单选择“全部”这行编码文本。
2.3 将编码当作GBK编码转换到文本
先删除掉最后一行的文本,然后将的CP1252编码文本粘贴到最后一行,即CP936行。这时在文本行就可以看到对应的文本。
3 结束语
如果把CP1252编码当作GBK编码,文本行还是乱码,你可以再试试Big5,即把最后一行设置成CP950。 这种类型的乱码邮件还是比较容易处理的,你可以自己动手解决它。
联赛竞彩