找回密码
 立即注册
搜索
热搜: 活动 通知
查看: 77|回复: 0

第8集的文字稿

[复制链接]

403

主题

307

回帖

3177

积分

管理员

积分
3177
发表于 2024-11-7 11:28:57 | 显示全部楼层 |阅读模式
001.

电子计算机在美国发明,包括美国在内的英语系国家使用ASCII字符集和字符编码,因为它们的文字系统非常简单。相反地,东亚地区可以使用ISO/IEC 2022标准来编码自己的文字,但缺点是需要用转码序列在不同的字符集之间切换。因此,对很多国家和地区来说,这种编码方案可能不够简单。

从另一个方面来看,东亚国家在写文章的时候,与英文混用是非常普遍的;但英语系国家的写文章的时候,通常不会使用东亚的文字。世上的事情,复杂的一方可以包容简单的一方,因此,新的编码方案不位要足够简单,还要兼容ASCII编码。

在当时,UNIX是最流行的操作系统,而我们现在所熟知的DOS、Windows、Linux都还在起步阶段。为了实现UNIX的国际化,贝尔实验室发明了一种新的编码方案,叫做扩展的UNIX编码,简称EUC,这种编码方案就是为了实现上述目标。

EUC编码方案是以ISO/IEC 2022为基础的,但它是一个基于8比特的编码方案,所以做了改进,不再使用转码序列。相反地,它使用一些标志位来指明某个字符编码所隶属的字符集。下表给出了EUC编码的基本框架。

EUC编码规则(字符集)
字符编码
CS0
0xxxxxxx
CS1
1xxxxxxx
1xxxxxxx 1xxxxxxxx
1xxxxxxx 1xxxxxxxx 1xxxxxxx
...

CS2
10001110 1xxxxxxx
10001110 1xxxxxxx 1xxxxxxxx
10001110 1xxxxxxx 1xxxxxxxx 1xxxxxxxx
...

CS3
10001111 1xxxxxxx
10001111 1xxxxxxx 1xxxxxxxx
10001111 1xxxxxxx 1xxxxxxxx 1xxxxxxxx
...


在表格中,EUC列是编码规则,实际上是用来指定字符集。CS0通常用来指定ASCII字符集,所以它是用来兼容ASCII字符集和字符编码。这种8位编码的最高位是0,剩余的7比特是ASCII字符编码。


CS1、CS2和CS3用来指定非英语系国家的字符集,比如用来指定西欧、中国、日本或韩国的字符集。我们国家选择的是CS1,用来编码GB2312字符集。


采用CS1的字符编码可以是1个8比特,这适用于欧洲国家;还可以是2个、3个甚至更多的8比特,这适用于东亚。显然,将原先那些用ISO/IEC 2022标准生成的7比特字符编码扩充为8个比特,再将最高位置1,就得到了EUC编码。


CS2的特点是由两个以上的8比特组成,而且第一个8比特必须是10001110;CS3的特点是由两个以上的8比特组成,而且第一个8比特必须是10001111。


显然,CS0、CS1、CS2和CS3的编码是可以用最高位或者第一个8位来互相区分的。同时,这也意味着,CS0、CS1和CS3中不能含有10001110这样的编码;CS0、CS1和CS2中不能含有10001111这样的编码。


接下来,我们用汉字“发”来说明EUC编码。



汉字“发”位于23区02位,这是它的区位码,也是它在GB2312字符集中的代码点或者说代码位置。将区和位分别加上32,就是55和34,所以汉字“发”的ISO-2022-CN编码是55 34。

这是一个7位编码,要将它转换为8位编码,然后将两个8比特的最高位置“1”。说起来复杂,其实很简单,直接将这两个值分别加上128即可。因为128的二进制形式为1000 0000。相加之后,就得到汉字“发”的EUC编码183 162,转换为十六进制则是B7 A2。


在中国,GB2312字符集最常用的编码方案就是EUC,叫做EUC-CN编码;与此同时,韩国和日本也用EUC编码方案来编码它们国家的字符集,并分别叫做EUC-KR和EUC-JP。


使用EUC-CN编码方案来编码文本“2025年1月”,得到的编码是


50 48 50 53 196 234 49 212 194


可以看出,EUC-CN编码中不存在转码序列;编码值小于128的字节是ASCII字符集中的字符;两个编码值大于128的字节组成GB2312字符集中的字符;EUC_CN编码是兼容ASCII字符集和字符编码的,使用EUC-CN编码方案的国家和地区可以直接打开只包含ASCII字符编码的文档。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|鼠侠网 ( 吉ICP备19001332号 )

GMT+8, 2024-11-23 17:36 , Processed in 0.223702 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表