计算机中的字符编码
字符是计箅机中使用最多的非数值型数据,包括英文字母、符号、汉字以及不用在箅术 运算中的数字,例如,姓名、地址和电话号码等。在计算机中存储和处理字符,要将其数字 化,用一串二进制位表示一个字符,即编码。输出时,再将字符编码转换成相应的图形 符号。
1.西文编码
- 01
1.西文编码 就像莫尔斯电码(Morse Code)用点和划来表示英文字母表中的字母,计算机用一系列 本先规定好的位,即编码,来表示字母、符号和数字。以下是几种西文常用的编码方式。
- 02
1) ASCII 码 目前计算机中使用最广泛的字符编码是ASCII码,即美国标准信息交换码(American Standard Code for Information Interchange)。ASCII 包括 32 个通用控制字符、丨0 个十进制数 码、52个英文大小写字母和34个专用符号,共128个元素,用7位二进制数进行编码。通 常使用一个字节(即8个二进制位)表示一个ASCII码字符,规定其最高位总是0。表1-3 为ASCII码编码表。
- 03
2)扩展 ASCII 码(Extended ASCII) 由于标准ASCII码字符集字符数目有限,在实际应用中往往无法满足要求。为此,国际 标准化组织又将ASCII码字符集扩充为8位代码及ASCII码的扩充。这样,ASCII码的字符 集可以扩充128个字符,也就是使用8位扩展ASCII码能为256个字符提供编码^这些扩充 字符的编码均为高位为1的8位代码(即十进制数128〜255 ),称为扩展ASCII码。扩展 ASCII码所增加的字符包括加框文字、圆圈和其他图形符号。
2.汉字编码
- 01
所谓汉字编码,就是采用一种科学可行的办法,为每个汉字编一个唯一的代码,以便计算机辨认、接收和处理。为了实现在不同设备之间交换信息,对于汉字也需要制定人们共同 遵守的编码标准。现在,汉字编码主要有3种GB 2312—80、B1G5和GBK。
- 02
1) GB 2312—80 (国标码) 1981年我国公布的《通用汉字字符集(基本集)及其交换码标准》GB 2312—80编码 (简称国标码),它规定每个汉字编码由两个字节构成。第一个字节的范围从A1H~FF:H, 共94种,第二个字节的范围也为A1H~FEH,共94种。利用这两个字节可定义出94 x 94 =8836种汉字,实际共定义了 6763个汉字和682个符号。汉字分为两级,即一级(常 用)汉字3755个(按汉语拼音排序)和二级(次常用)汉字3008个(按偏旁部首排序)。 Microsoft Windows 3. 2操作系统就是以GB 2312—80为基本汉字编码的。
- 03
2) BIG5 码 B1G5码主要是一个繁体字编码字符集。B1G5码编码规则是:每个汉字编码由两个字节 构成,第一个字节的范围从A1H〜F9H,共89种,第二个字节的范围分别为40H〜7EH, A1H〜FEH,共157种。也就是说,利用这两个字节共可定义出89 x 157 = 13973种汉字, 其中,常用字共5401个,次常用字共7652个,剩下的便是一些特殊字符。
- 04
3) GBK码 GBK是GB 2312—80的扩展,与GB 2312—80是兼容的,因此GB 2312—80中的汉字 编码与GBK中的汉字编码相同。GBK中每个汉字仍然包含两个字节,第一个字节的范围是 0x81〜OxFE (即129〜254),第二个字节的范围是0x40〜OxFE (即64〜254)。GBK中有码 位23940个,包含汉字21003个。 Microsoft简体版中文Windows 95就是以GBK为汉字编码的。
3. Unicode 编码
- 01
Unicode (统一码、万国码、单一码)用16位二进制数为65000个字符提供了编码,它 为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文 本转换、处理的要求。例如,Unicode码将俄罗斯古代斯拉夫语字母中的大写字母“A”表 示为0000 0100 0001 0000::又如,前文中所述的GBK可以和Unicode做——对应,以及Unicode 可以表不中 文字符编码。