名词概念
字符、字符集、编码、码位
字符:各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
字符集:多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同。常见字符集名称:ASCII 字符集、GB2312 字符集、BIG5 字符集、 GB18030 字符集、Unicode 字符集等。
编码:计算机要准确的处理各种字符集文字,就需要进行字符编码,以便计算机能够识别和存储各种文字。常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。
码位:字符在字符集中的位置。
常见字符集
ASCII字符集、GB2312、BIG5、GBK、GB18030、Unicode、UTF-8
英文字符集:ASCII、Unicode
汉字字符集:GB2312、GBK、GB18030、UTF-8、BIG5
ASCII
基于罗马字母表的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是最通用的单字节编码系统,并等同于国际标准 ISO 646。可显示字符:英文大小写字符、阿拉伯数字和西文符号。
Unicode
Unicode 是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
Unicode 标准始终使用十六进制数字,而且在书写时在前面加上前缀“U+”,例如字母“A”的编码为 004116 和字符“?”的编码为 20AC16。所以“A”的编码书写为“U+0041”
汉字编码字符集
按照一组无歧义的规则而定义的汉字字汇的有序集合。其中每一个汉字与它的代码表示之间都具有一一对应的关系。在信息技术中用于汉字信息的表示、交换、传输、处理、存储、输入及显现。
GB2312
GB2312 又称为 GB2312-80 字符集,全称为《信息交换用汉字编码字符集·基本集》,由原中国国家标准总局发布,1981 年 5 月 1 日实施。
GB2312 收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。其中包括 6763 个汉字,其中一级汉字 3755 个,二级汉字 3008 个;包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的 682 个全角字符。
(1)分区表示:
GB2312 中对所收汉字进行了“分区”处理,每区含有 94 个汉字/符号。这种表示方式也称为区位码。
各区包含的字符如下:01-09 区为特殊符号;16-55 区为一级汉字,按拼音排序;56-87 区为二级汉字,按部首/笔画排序;10-15 区及 88-94 区则未有编码。
(2)双字节表示
两个字节中前面的字节为第一字节,后面的字节为第二字节。习惯上称第一字节为“高字节” ,而称第二字节为“低字节”。
“高位字节”使用了 0xA1-0xF7(把 01-87 区的区号加上 0xA0),“低位字节”使用了 0xA1-0xFE(把 01-94 加上 0xA0)。
GB18030
GB 18030 字符集标准解决汉字、日文假名、朝鲜语和中国少数民族文字组成的大字符集计算机编码问题。该标准的字符总编码空间超过 150 万个编码位,收录了 27484 个汉字,覆盖中文、日文、朝鲜语和中国少数民族文字。满足中国大陆、中国香港、中国台湾、日本和韩国等东亚地区信息交换多文种、大字量、多用途、统一编码格式的要求。并且与 Unicode 3.0 版本兼容,填补 Unicode 扩展字符字汇“统一汉字扩展 A”的内容。并且与以前的国家字符编码标准(GB2312,GB13000.1)兼容。
UTF-8 编码
UTF-8 是 Unicode 的其中一个使用方式。 UTF 是 Unicode Tranformation Format,即把 Unicode 转做某种格式的意思。
UTF-8 便于不同的计算机之间使用网络传输不同语言和编码的文字,使得双字节的 Unicode 能够在现存的处理单字节的系统上正确传输。
UTF-8 使用可变长度字节来储存 Unicode 字符,例如 ASCII 字母继续使用 1 字节储存,重音文字、希腊字母或西里尔字母等使用 2 字节来储存,而常用的汉字就要使用 3 字节。辅助平面字符则使用 4 字节。
UTF-8(8-bit Unicode Transformation Format)是一种针对 Unicode 的可变长度字符编码,又称万国码。由 Ken Thompson 于 1992 年创建。已经标准化为 RFC 3629。UTF-8 用 1 到 6 个字节编码 UNICODE 字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。