字节 编码

来源:互联网 发布:139邮箱端口 编辑:程序博客网 时间:2024/05/21 07:50

bit
比特,表示信息的最小单位,只有0和1两种状态
byte
字节,由8个bit组成,可以表示2^8种状态,0~255所有的整型类型


#java基本数据类型占字节数
类型 字节数 boolean 1/8 byte 1 char 2 short 2 int 4 float 4 long 8 double 8
#字符转码

ASCII 一个字符占一个字节
Unicode 一个字符占两个字节
UTF-8 一个字符占1~4个字节(通用)

引用:

电脑如何区分三个字节表示的是三个英文字符还是一个中文字符呢?

UTF-8是这样做的:

  1. 单字节的字符,字节的第一位设为0,对于英语文本,UTF-8码只占用一个字节,和ASCII码完全相同;

  2. n个字节的字符(n>1),第一个字节的前n位设为1,第n+1位设为0,后面字节的前两位都设为10,这n个字节的其余空位填充该字符unicode码,高位用0补足。

这样就形成了如下的UTF-8标记位:

0xxxxxxx 110xxxxx 10xxxxxx 1110xxxx 10xxxxxx 10xxxxxx 11110xxx
10xxxxxx 10xxxxxx 10xxxxxx 111110xx 10xxxxxx 10xxxxxx 10xxxxxx
10xxxxxx 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

作者:uuspider 链接:https://www.zhihu.com/question/23374078/answer/65352538
来源:知乎 著作权归作者所有,转载请联系作者获得授权。

0 0