先写个框架,待完善。
常见的字符集有:ASCII字符集、GB2312字符集、Big5字符集、GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,需要进行字符编码及相应的解码,以便计算机能够识别和存储各种文字。
首先,介绍几个有用的概念:SBCS、DBCS和MBCS。
它们分别是单字节字符集、双字节字符集和多字节字符集的缩写。SBCS、DBCS和MBCS的编码长度分别是1字节、两字节和大于两字节(例如3或5字节)。ASCII字符集就是典型的SBCS,而GB2312、GBK和Big5则是典型的DBCS,而GB18030则是典型的MBCS。
单字节字符集中的字符都用一个字节表示。显然,SBCS最多只能容纳256个字符。可见单字节对于除拉丁语系之外的语言,是无能为力的。这里就要看DBCS和MBCS了。
简单介绍一下,只为下一篇文章引出Unicode字符编码。
- ASCII字符集
ASCII字符集:主要包括控制字符(回车键、退格、换行键等);可显示字符(英文大小写字符、阿拉伯数字和西文符号)。
ASCII编码:将ASCII字符集转换为计算机可以接受的数字系统的数的规则。使用7位(bits)表示一个字符,共128字符;但是7位编码的字符集只能支持128个字符,为了表示更多的欧洲常用字符对ASCII进行了扩展,ASCII扩展字符集使用8位(bits)表示一个字符,共256字符。ASCII字符集映射到数字编码规则如下图所示:
ASCII的最大缺点是只能显示26个基本拉丁字母、阿拉伯数目字和英式标点符号,因此只能用于显示现代美国英语(而且在处理英语当中的外来词如naïve、café、élite等等时,所有重音符号都不得不去掉,即使这样做会违反拼写规则)。
- GB2312字符集
- GBK
- GB18030
GBK是双字节编码,每个字符用两个字节表示。GB18030是多字节字符集,它的字符可以用一个、两个或四个字节表示。码位空间由各字节的范围确定。
- Big5