Loading

分字(汉字编码)

关于使用GBK和UTF8进行汉字编码的学习总结。

1 GBK(GB)

GBK编码规则简述:

  • 使用1-2个字节表示一个字符,从左向右一个字节一个字节识别。
  • 若当前字节首位为0,则该字符用1个字节表示(ASCII字符)。
  • 若当前字节首位为1,则该字符用2个字节表示(汉字)。

列表如下:

1字节字符(ASCII字符) 2字节字符(汉字)
0XXXXXXX 1XXXXXXX XXXXXXXX

其中"X"代表0或1。

2 UTF8

UTF8编码规则简述:

  • 使用1-6个字节表示一个字符,从左向右一个字节一个字节识别。
  • 若当前字节首位为0,则该字符用1个字节表示(ASCII字符,同GBK)。
  • 当字节数大于2时(此时表示汉字),假设该字符有n个字节,该字符的表示与n的关系如下:
    • 首字节:前n位是1,n+1位是0,后面任意。
    • 其余n-1个字节,前两位必须是10,后面任意。

注意汉字的编码前面至少有2个1(有几个1就表示该汉字用几个字节表示)。

列表如下:

1字节字符(ASCII字符) 2字节字符(汉字) 3字节字符(汉字) 4字节字符(汉字) 5字节字符(汉字) 6字节字符(汉字)
0XXXXXXX 110XXXXX
10XXXXXX
1110XXXX
10XXXXXX
10XXXXXX
11110XXX
10XXXXXX
10XXXXXX
10XXXXXX
111110XX
10XXXXXX
10XXXXXX
10XXXXXX
10XXXXXX
1111110X
10XXXXXX
10XXXXXX
10XXXXXX
10XXXXXX
10XXXXXX

参考文献

[1] 李老师的讲义-Chinese-encoding

posted @ 2021-11-30 21:26  YumengLiu  阅读(238)  评论(0)    收藏  举报