字符集
字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。
计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。
中文文字数目大,而且还分为简体中文和繁体中文两种不同书写规则的文字,而计算机最初是按英语单字节字符设计的,因此,对中文字符进行编码,是中文信息交流的技术基础。
一、GB 2312-80字符集 (过时标准)
第一个字符和第二个字符都大于127。
是中国国家标准简体中文字符集。
汉字有两种编码:国标码与机内码。
1.国标码:
- 国标码是”中华人民共和国国家标准信息交换汉字编码”,代号为”GB2312-80”。
- 在国标码的字符集中,收集了一级汉字3755个,二级汉字3008个,图形符号682个,共7445个。
- 一个汉字对应一个区位码,由四位数字组成,前两位数字为区码(0~94),后两位数字为位码(0~94)。
2.机内码:
- 机内码是指汉字在计算机中的编码
- 汉字的机内码占两个字节,分别称为机内码的高位与低位。它们与区位码的关系如下:
机内码高位=区码+A0H
机内码低位=位码+A0H
机内码=区码+A0H 位码+A0H
2. 汉字字模信息
汉字字库是由所有汉字的字模信息构成的。一个汉字字模信息占若干字节,究竟占多少个字节由汉字的字形决定。
例如,如果用16×16点阵表示一个汉字,则一个汉字占16行,每行有16个点,在存储时用两个字节存放一行上16个点的信息,对应位为”0”表示该点为”白”,”1”表示该点为”黑”。因此,一个16×16点阵的汉字占32个字节。
二、GBK字符集(微软标准)
第一个字符大于127,第二个字符从0开始到255。
GBK 向下与 GB 2312 编码兼容,向上支持 ISO 10646.1 国际标准,是前者向后者过渡过程中的一个承上启下的标准。
GBK 是一个汉字编码标准,全称《汉字内码扩展规范》(GBK),英文名称 Chinese Internal Code Specification ,中华人民共和国全国信息技术标准化技术委员会 1995 年 12 月 1 日制订,国家技术监督局标准化司、电子工业部科技与质量监督司 1995 年 12 月 15 日联合以技监标函 [1995] 229 号文件的形式,将它确定为技术规范指导性文件,发布和实施。这一版的 GBK 规范为 1.0 版。GB 即“国标”,K 是“扩展”的汉语拼音第一个字母。
GBK 共收入 21886 个汉字和图形符号。
全部编码分为三大部分:
- 汉字区
- 图形符号区
- 用户自定义区
四、GB 18030 (国家标准)
包含少数民族语言字符。
GB 18030,全称:国家标准 GB 18030-2005《信息技术中文编码字符集》