中文汉字编码知识
汉字的编码体系主要有以下几种:
⑴ 国标、区位、“准国标”
国标是将七千余个汉字以及标点符号、外文字母等,排成一个94行、94列的方阵。方阵中每一横行称为一个“区”,每个区有94个“位”。一个汉字在方阵中的坐标,称为该字的区位码。为了与美标(ASCII)的形象码的范围重合,出现了“国标码”,即将区位码的两个十进制数都加上32,得到该汉字的国标码。
当需要区分国标码和美标码时,出现了“准国标”,即将国标码的两个数字各加上128,而把原来的国标码称为“纯国标”。
⑵ GBK
GBK码是GB码的扩展字符编码,对多达两万多的简繁汉字进行了编码。
⑶ BIG5码
BIG5码是针对繁体汉字的汉字编码。
⑷ HZ码
HZ码是在Internet上广泛使用的一种汉字编码,它是以“纯国标”的中文与美标码混用为方案。
⑸ ISO 2022 CJK码
这是国际标准组织为各种语言字符制定的编码标准。CJK是中、日、韩语的合称。它主要在Internet中使用。
⑹ UCS和ISO 10646
UCS是由ISO 10646定义的,是其他字符集标准的一个超集,保证与其他字符集是双向兼容的,它包含了所有已知语言的字符。
⑺ Unicode
Unicode提供一种统一的字符标识方法,它是16位编码的,具备世界各地计算机与出版行业所用字符的全部代码。而且它的产生是以各个国家或国标字符编码为基础的。目前,Unicode在网络、Windows系统和很多大型软件中得到应用。
各种中文编码对应的编码区间总结
一.ascii码编码区间(所有中文编码中的ascii码编码均一样)
1).单字节ASCII码:0x00-0x7F
2).扩展ASCII码:0x80-0xFF
二.GB2312双字节编码区间:
高字节 低字节
0xA1-0xF7 0xA1-0xFE
三.Big5双字节编码区间:
高字节 低字节
0xA1-0xF9 0x40-0x7E
0xA1-0xF9 0xA1-0xFE
四.GB18030(一.二.四字节)编码区间
1).单字节ASCII编码区间: 0x00-0x7F
2).双字节编码区间:
高字节 低字节
0x81-0xFE 0x40-0x7E
0x81-0xFE 0x80-0xFE
3).四字节编码区间:
0x81308130 - 0xFE39FE39
第1,3个字节均由0x81-0xFE构成
第2,4个字节均由0x30-0x39构成
五.utf-8编码,由1-6字节构成:
UTF-8 valid format list:
0xxxxxxx
110xxxxx 10xxxxxx
1110xxxx 10xxxxxx 10xxxxxx
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
以下为中文编码区间(包括双字节和三字节)
1).单字节(ASCII码)编码区间: 0X00-0x7E
2).双字节汉字编码区间:
高字节 低字节
0xC0-0xDF 0x80-0xBF
3).三字节汉字编码区间:
一字节 二字节 三字节
0xE0-0xEF 0x80-0xBF 0x80-0xBF
4).四字节:无中文
5).五字节:无中文
6).六字节:无中文
UTF-8使用3字节为中文汉字编码.
对于Windows下的utf-8文本文件,会在文件头加上0xEF 0xBB 0xBF三个字节便于windows应用程序快速识别文本编码。
六.GBK编码完全兼容GB2312.
七.Unicode双字节编码:
中文编码区间:0x4E00-0x9FA5
对于Windows下快速判断文本文件是Unicode还是ANSI编码时,如果文件的前两个字节是0xFF和0xFE,则识别为Unicode文本。
八.中文编码兼容顺序为(从左向右兼容): GB18030-->GBK--->GB2312.
以上编码知识为个人(www.169it.com)总结,仅供参考。