码迷,mamicode.com
首页 > 其他好文 > 详细

字节和编码

时间:2018-09-27 18:09:33      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:target   十六进制   enc   英语   没有   reg   状态   http   保存   

计算机存储最小单元 bit,表示 0 或者 1

8 个 bit (00000000 ~ 11111111)共 256 种状态,构成 byte(字节)

 

ASCII 码共 128 个字符编码,使用 1 个字节保存,第一位为 0

 

Unicode 符号集,规定了每个符号的二进制代码,但没有规定其存储方式(用几个字节存储)

 

UTF-8 是 Unicode 的一种实现,是一种变长的实现方式,使用 1~4 字节表示一个符号

编码规则

  • 对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的
  • 对于n字节的符号(n > 1),第一个字节的前n位都设为1,第n + 1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码
Unicode符号范围(十六进制) UTF-8编码方式(二进制)
0000 0000 ~ 0000 007F 0xxxxxxx
0000 0080 ~ 0000 07FF 110xxxxx 10xxxxxx
0000 0800 ~ 0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
0001 0000 ~ 0010 FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

 

 

 

 

 

比如 高 这个符号,Unicode 值是 9AD8,在 0000 0800 ~ 0000 FFFF 范围内,使用 3 字节(1110xxxx 10xxxxxx 10xxxxxx)存储,9AD8 的二进制值为 1001 1010 1101 1000,从最后一位二进制值开始从后往前填补 x 值,即为:11101001 10101011 10011000,转为十六进制为:F9AB98,所以 高 的 UTF-8 值为 E9AB98

 

参考链接:

字符编码笔记:ASCII,Unicode 和 UTF-8

字符,字节和编码

 

字节和编码

标签:target   十六进制   enc   英语   没有   reg   状态   http   保存   

原文地址:https://www.cnblogs.com/gebron/p/9714294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!