可爱的编码——ASC、Unicode、UTF-8、GBK

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fancynece/article/details/82116156

字符集

ASCII

ASC编码是现今最通用的 单字节 编码系统,包含英文字母、数字、特殊字符等。

它的最高位称作奇偶校验位,用来校验传输过程中编码是否出现错误。

  • 奇校验 字节中1的个数为奇数,如果不是则最高位置1
  • 偶校验 字节中1的个数为偶数,如果不是则最高位置1

Unicode

Unicode为 每种语言 中的 每个字符 设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

Unicode仅仅规定了每个字符码位,并没有规定如何存储、传输它们。因此出现了许多编码规则,最常见的就是UTF-8与GBK。

编码

UTF-8

UTF-8是基于Unicode最通用的国际编码。每个字符长度为 一个字节四个字节。英文字母为1个字节,汉字为3个字节。支持大小端。

编码格式为:

0xxxxxxx    # 0000-007F 
110xxxxx 10xxxxxx   # 0080-07FF 
1110xxxx 10xxxxxx 10xxxxxx  # 0800-FFFF  
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx  # 10000-1FFFF 

GBK

GBK也是基于Unicode的编码,是中国编码,固定每个字符长度为 两个字节,英文字母与汉字以最高位区分。

1xxxxxxx xxxxxxxx  # 汉字
0xxxxxxx xxxxxxxx  # 字符

显然,GBK与UTF8之间需要通过Unicode来进行转换。

猜你喜欢

转载自blog.csdn.net/fancynece/article/details/82116156