奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 324 页

PDF 物理页索引 340 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
324
PDF 物理页
340(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
16506e01fc02f2aed44b328cd59f015db4a7f63df24280e416034551ab335669

只可惜问题也随之而来,近几十年来出现了许多不同版本的扩展的ASCI码,多个不同的版本严重影响了编码的一致性,导致了混淆和不兼容。ASCI码被扩展到极致,有的甚至可以对中文、日文和韩文进行编码。其中有一种流行的编码Shift-JIS,即日本工业标准(Japanese Industrial Standard),利用 81h\~9Fh表示双字节字符编码的初始字节。通过这种手段,Shift-JIS可对额外的约6000个字符进行编码。只可惜 Shift-JIS 并不是唯一的采用这种技术的编码系统。在亚洲地区,还有三个类似的双字节字符编码系统(double-byte character sets,DBCS)同样也很流行。

双字节字符集的确有很多版本,但兼容性并不是它最主要的问题。它的另一个缺陷是,一些字符,特别是通用的ASCI码字符,是用单个字节编码表示的,相比而言,成千上万的象形文字则是双字节编码,这在无形之中增加了使用这种字符集的难度。

业界一直有一个目标,那就是建立一个独一无二的字符编码系统,它可以用于世界上所有语言文字,从1988年开始,几大著名计算机公司合作研究出一种用来替代ASCI码的编码系统,取名为Unicode(统一化字符编码标准)。相对于ASCII的7位编码,Unicode采用了16位编码,每一个字符需要2个字节。也就是说Unicode的字符编码范围为0000h\~FFFFh,总共可以表示65,536个不同字符。全世界所有的人类语言,尤其是经常出现在计算机通信过程中的语言,都可以使用同一个编码系统,而且这种系统还具备很高的扩展性。

Unicode编码其实并不是从零开始设计的,前128个字符编码——即 0000h\~007Fh—与 ASCII 码是一致的。Unicode 编码中的 00A0h\~00FFh与先前讲到的第1号拉丁字母表是一致的。全世界很多标准也被一同收录在Unicode中。

尽管相对于之前讲过的一些字符编码系统,可以说Unicode做出了有效地改进,但这也不能确保它被全世界广泛采纳。ASCII码,包括数不清的有一点小缺陷的扩展ASCII码已经在计算机领域根深蒂固,想一下子就取代它们并不是轻而易举的。

对于Unicode来讲,它唯一的问题,就是它改变了字符与存储空间之间“单字符,单字节”的等价对应关系。采用ASCIⅡ编码方式存储的著作《怒火之花》,其所占据的存储空间约为1MB。而如果采用Unicode编码,约占2MB。为了使编码系统兼容,Unicode在存储空间上付出了相应的代价。

编码—隐匿在计算机软硬件背后的语言

324