BOM
这里涉及到一个BOM(Byte Order Mark)
的概念.简单的讲,在Unicode标准中,为了标示文本文件的编码类型,可以在文本文件的开始插入几个特殊的byte,通过这几个特殊的byte,应用
程序就可以鉴别文本文件使用的是那种编码了.那几个特殊的byte也被称之为BOM(参考:http://unicode.org/faq/utf_bom.html ).
对于Unicode,几种编码的BOM如下:
UTF-32, big-endian 文件的前4个byte是:00 00 FE FF
UTF-32, little-endian文件的前4个byte是:FF FE 00 00
UTF-16, big-endian文件的前2个byte是:FE FF
UTF-16, little-endian文件的前2个byte是:FF FE
UTF-8文件的前3个byte是:EF BB BF
UTF-7的规律特殊一点,不是前几个byte,而是所有的byte转换为十进制都小于127.
使用UltraEdit打开一个文本文件,可以不用关心其编码.(Notepad创建的文件的默认编码还是当前code page设定的编码,在简体中文环境下是 CP936, 即GBK)
设定UltraEdit当前的code page: 选择 "View -> Set Code Page", 然后选择你需要的code page. 这样后面执行的编码转换操作都是根据这里设定的code page进行的.
选择 "Edit -> Hex Function -> Hex Edit" 进入Hex编辑模式,这样你可以输入任意你需要的16进制数字,例如 4E02(Unicode) 或者 8140(GBK) ( "丂" )
转换: 根据你当前的文件的编码,选择 "File -> Conversions -> Unico