

以下分别是“中国人123”这6个字符的,Ansi编码,Utf-8编码,Utf-8-Bom编码,utf-16 Big Endian,utf-16 little Endian
Notepad++查看文本文件二进制的方法
1. 安装插件,插件--插件管理,勾选HEX-Editor,再点安装,安装后在快速工具栏最后会有个H的,打开任文件,再点该图标可切换为二进制显示
//注:如果找不到,可在搜索那里输入,或切换到已安装选项卡下查看
2. 安装插件2,有时下线安装不能下载,可以直接下载插件dll,放到N++的插件目录,重新运行N++,就有该插件了,插件目录在最新版的插件安装界面有个链接
下面分面是输入 “中国人123”这6个字符点编码,分别转为Ansi,uft8,uft8bom,utf16Big,utf16little编码后,点击快速工具的H图标切换为二进制的显示的结果
注:编码菜单的使用某某编码,和转为某某编码的区别,使用某某编码指Notepad++当前使用那个编码来显示字符,转为某某编码是反当前字符转为某种编码
d6 d0 b9 fa c8 cb 31 32 33 //Ansi编码每汉字2字节,数字1字节
e4 b8 ad e5 9b bd e4 ba ba 31 32 33 //GB2312编码,每汉字3字节,数字1节,与Utf8相同
e4 b8 ad e5 9b bd e4 ba ba 31 32 33 //utf-8编码,每汉字3字节,数字1字节,与GB2312相同
ef bb bf e4 b8 ad e5 9b bd e4 ba ba 31 32 33 //Utf-8Bom编码,每汉字3字,数字1字节,与Utf8相同,只是在最前面加了ef bb bf 作为标识
fe ff 4e 2d 56 fd 4e ba 00 31 00 32 00 33 00 00 00 00 00 00 00 00 //utf-16 Big Endian, 前面以Fe ff开头,
ff fe 2d 4e fd 56 ba 4e 31 00 32 00 33 00 00 00 00 00 00 00 //utf-16 little Endian,汉字表示与上面都不同,utf16的Little与Big英文表示也不同,虽都是两字节,一个0放前,一个放后
总结:ANSI与utf8编码不兼容,一种编码用另一种读则乱码,ANSI与GB2312兼容,即ANSI编码的文件可用GB2312来读,Utf8编码的强用utf8,utf16的两种来读
ASCII<=ANSI<GB2312<GBK<GB18030(2000)<GB18030(2005)<Utf8
ASCII (American Standard Code for Information Interchange,为美国信息互换标准代码),用1字节表示,所以只能保存128个字符,只包括英文大小写,数字,和一些符号
注:为和GB2312等其它国家编码兼容,最高位必须为0,所以只能表示127个字符
ANSI 美国国家标准协会,ASCII就是ANSI出的一个计算机方法的标准,为表示各国自己的字符,各国也整了一套标准来表示自己的字符编码,如中国的GBK,日本的Shift-Jis,台湾的Big5
但这些编码都兼容ANSI的ASCII编码,所以各车也用ANSI编码来代表自己的GBK,Shift-JIs,Big-5等,因为它们是兼容的
gb2312
用两个字节表示,只用了一部分,可表示6763个字,682个特殊符号,它兼容ASCII编码,
GB2312与ASCII兼容的方法:要求ASCII二进制的最高位必须为0,而GB2312二进制的最高不能为0,如果一个字节的最高位是0那个就表示是一个ASCII字符,就读一个字节
如果这个字节二进制的最高位为1,就表示是一个GB2312字符,就读二个字节
注:由于最高位不能为0,所以两个字节的只能表示65535(两字节有65535种组合)的一半,即三万多种组合
GBK
也用两字节表示,两字节高位不为0,有三万多种组合,又用了一些组合,可表示包括繁体在内的20902个汉字,984个汉语标点及部首
GBK是在兼容GB2312的基础上又加上了一些汉字
GB18030分别有2000年版和2005年版,
为表达更多的汉字,GBK基础上又发布了GB18030,2005年版是在2000年版基础上的增加和修订,这个版本有七万多个汉字,包括少数民族的文字
ASCII是ANSI出的,美国标准协会
Unicode是ISO,国际标准组织