存储单位
比特:1bit代表一个‘0’或‘1’
字节:1kb(kbyte)等于8bit,用八位二进制表示:0b1010 1010,用两位16进制表示:0x1f
千字节:1kb = 1024b
兆字节:1Mb = 1024kb
字符集
ASCII码:最初字符集,1~128可以表示英文字符和英文字母
EASCII码:ASCII码基础上做了扩展,支持更多字符
GB:汉字早期字符集,包含部分汉字,不够全面
GBK:GB的基础上扩展
unicode: 目前世界统一字符集
unicode字符集
编码方式:unicode有三种编码方式分别为utf-8,utf-16,utf-32
共同点:字符集都是unicode字符集,有相同的码点(U+4f60,一个十六进制对应一个字符)
不同点:编码,解码方式不同,不同的代码单元
utf-8
不定长,第一个字节开始几位有几个1代表有几位字符,之后接0分割,其余字节10开头,有效位存数据,例如:
01010101 表示一个字节代表的字符,有效位1010101
11010101 10101010 表示两个字节代表的字符,有效位:10101 101010
11101010,10101010,10101010 表示三个字节代表的字符,有效位:10101 101010 101010
utf-16
2或4字节代表一个字符,初始设计了2字节,之后扩展了范围,补充时采用代理方式,通过空闲位1024(高位代理)*1024(低位代理)矩阵代理方式扩展
utf-32
定长,始终4字节代表一个字符,空位用0补
0000 0000,0000 0000,0000 0000,0000 00001