字符编码
本文主要说明三种编码: ASCII、GB、Unicode
ASCII
- ASCII 是为了表示拉丁字母的一套电脑编码系统
- 使用的8位二进制表示字符,最多能表示256个字符,但是至今只定义了128个字符,其中33个不做显示
- 以下是95个用二进制表示的拉丁字符
GB类编码
GB用来表示中文,常用的可以分为三种,GB2312,GBK,GB18030,代表着中文编码的演进过程。
GB2312
- 2个字节, 16位二进制 表示一个字,最多可以表示2**16=65536个字符
- 共收录6763个汉字
GBK
- GBK 向下与 GB 2312 编码兼容,向上支持 ISO 10646.1国际标准
- 使用了双字节编码方案,其编码范围从8140至FEFE(剔除xx7F),共23940个码位,共收录了21003个汉字
GB18030
- 采用变长多字节编码,每个字可以由1个、2个或4个字节组成。可以支持任何汉字
- 完全支持Unicode
Unicode
unicode用来确定世界上所有字符的唯一二进制编码
可变长度,即可以节省空间又可以支持任意字符
根据长度的不同又为UTF8、UTF16、UTF32
- UTF8 最少使用1个字节
- UTF16 最少使用2个字节
- UTF32 总是使用4个字节来表示
字符编码
https://www.xinyublog.com/concept/charset/