关于字符编码

来源:互联网 发布:js获取用户访问地区 编辑:程序博客网 时间:2024/06/06 03:11
ASCII:ISO646标准,7位编码,共128个字符。ISO2022标准,制定了适用不同地区的扩充ASCII字符集,8位编码,共256个字符。
ISO8859-1:又称Latin-1,第一个8位字符集
ANSI:又称MBCS,扩充ASCII以显示本国语言,不同地区制定不同标准,如GB2312,BIG5,JIS等。2字节编码。
      不同ANSI之间不兼容,两种语言文字无法存储在同一个ANSI编码的文本中,导致Unicode产生。
  GB2312:收录6763个常用汉字,理论上可表示65536个汉字
  GBK:收录21003个汉字,GB2312的扩展
  BIG5:繁体中文字符集,港澳台使用
Unicode:UCS-2使用2个字节存储一个符号,UCS-4使用4个字节存储一个符号

UTF-8:为提高Unicode编码效率,可根据不同符号自动选择编码长度。如英文字符只用1个字节即可,汉字用3个字节。


#UltraEdit在打开utf-8和unicode编码(不论大小字节序)的文本文件时会自动转换为UTF-16并添加little endian的BOM,可能产生混淆。
可以在【配置-文件处理-Unicode/UFT-8检测】中关掉【自动检测UTF-8文件】,但是关掉之后打开文件会乱码,更好的工具是WinHex。


PS:

 W3C定义了三条XML解析器如何正确读取XML文件的编码的规则:
 1,如果文挡有BOM(字节顺序标记,一般来说,如果保存为unicode格式,则包含BOM,ANSI则无),就定义了文件编码
 2,如果没有BOM,就查看XML声明的编码属性
 3,如果上述两个都没有,就假定XML文挡采用UTF-8编码

0 0
原创粉丝点击