UTF-8 是一种国际化标准的文字编码,GBK 是中国自己的文字编码,Windows系统程序已经将最初的UTF-8转向Unicode。
1、UTF-8
1.1 背景
1.2 特点
- 英文使用一个字节编码(8bit),中文使用3个字节编码(24bit).所以对于中文而言,GBK更加节省空间;对于英文而言,GB更加耗费空间。
- 包含全世界所有国家需要用到的字符,是世界标准
2、GBK
2.1 背景
GBK是在国家标准GB2312基础上扩容后兼容GB2312标准,包含全部中文字符。
2.2 特点
- 不论中 | 英 文,都采用双字节表示,只不过中文的最高位为1
- 包括所有的中文字符
- GB2312、GBK、GB18030都是中文编码方式,向下兼容。GB2312包含7000多个汉字和字符,GBK包含21000多个,GB18030包含27000多个。
- 跟ascii是怎么区分的呢?
- 如果高字节的高位为1(也就是高字节大于127),就表示是汉字
3、ASCII编码(ISO-8859-1)
3.1 背景
3.2 特点
- 是鼻祖,最简单的方式,字节高位为0。
4、Unicode编码
4.2 特点
- Unicode是统一编码,它建立了一个全世界统一的码表。世界上的所有文字,在这张码表中都是唯一的
- UTF-8是Unicode的一种存储、传输方式。它将整个Unicode码表分为3部分
- 000 - 007F 这部分是最初的ascii部分,按原始的存储方式,即0xxxxxxx
- 0080 - 07FF 这部分存储为110xxxxx 10xxxxxx
- 0800 - FFFF 这部分存储为1110xxxx 10xxxxxx 10xxxxxx