文章摘要: 在计算机中,字符集是用于表示字符的编码集合,它是计算机处理文字和符号的基础。
编码的概念
- 计算机内部使用二进制数,一个字符在计算机中是以
0和1构成的序列形式来存储的。 - 将字符映射到它的二进制形式的过程被成为“编码”(encoding)。
- 字符有多种不同的编码方式,编码表(encoding scheme)定义该如何编码每个字符。
ASCII
- 美国信息交换标准代码,包含英文字母、数字、符号。
- 每个字符用1个字节表示,即8位二进制数。
- 总共可以表示128个字符。
- 每个字符的二进制最高位用0表示。
案例
0xxx xxxx
详细总结:基础知识-字符集-ASCII
GBK
- 汉字内码扩展规范,国标。
- 每个中文字符编码成2个字节的形式存储,即16位二进制。
- GBK兼容了ASCII字符集。
- 每个字符的二进制最高位用1表示。
案例:
- 英文字符:
0xxx xxxx - 中文字符:
1xxx xxxx xxxx xxxx
简体中文Simplified Chinese(GB 2312) gb2312
- GB 2312或GB2312-80是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称GB 0 。
- 1981年5月1日由中国国家标准总局发布。
- GB 2312对汉字采用双字节编码,收录7445个图形字符,其中包括6763个汉字。
简体中文Simplified Chinese(GBK) gbk
- GBK编码是对GB 2312编码的扩充,对汉字采用双字节编码。
- K的汉字拼音Kuo Zhan(扩展)中“扩”字的字母。
- 1995年12月发布的汉字编码国家标准。
- GBK字符集共收录21886个汉字,包括:GB 2312中的全部汉字、非汉字符号,国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。
- (以上合计“汉字”20902个和“其他汉字、部首、符号”共计984个)
简体中文Simplified Chinese(GB 18030) gb18030
- GB18030编码,全称:国家标准GB 18030-2005《信息技术中文编码字符集》。
- 是对GBK编码的扩充,覆盖中文、日文、朝鲜语和中国少数民族文字。
- GB2312 -> GBK -> GB19030是逐渐扩充的集合
Unicode
- Unicode是国际组织制定的,称为“统一码/万国码”。
- 可以容纳世界上所有文字、符号的字符集。
UTF-8编码方案
- UTF-8是Unicode字符集的一种编码方案,采用可变长编码方案。
- 共分为四个长度区:1个字节、2个字节、3个字节、4个字节。
- 英文字符、数字等只占用1个字节,汉字字符占用3个字节。
案例:
- 1个字节:
0xxx xxxx - 2个字节:
110x xxxx 10xx xxxx - 3个字节:
1110 xxxx 10xx xxxx 10xx xxxx - 4个字节:
1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx