字符编码二(各类编码方式的发展、半角和全角)

您所在的位置:网站首页 全角数字英文字符与半角数字英文字符输出是什么 字符编码二(各类编码方式的发展、半角和全角)

字符编码二(各类编码方式的发展、半角和全角)

2024-07-14 03:54| 来源: 网络整理| 查看: 265

参考链接 为了兼容ASCII码,各种编码方式在考虑多字节的字符(比如汉字)与原先的ASCII字符混用时,编码有两种方案: 方案一:保持ASCII字符为单个字节编码不变(即完全直接兼容ASCII),但将其他多字节字符编码的各个字节的最高位(即首位)设置为1,以区分于字节最高位为0的ASCII编码。使用该方案的编码方式有EASCII、ISO/IEC 8859、GB、UTF-8等。 方案二:将原先的ASCII字符重新编码为多个字节表示(即间接兼容ASCII),以便与其他多字节字符统一起来。使用该方案的编码方式有UTF-16、UTF-32等。 方案一和方案二就是在追求空间和时间上的取舍不同。

1.第一阶段:单一ASCII编码方案阶段

ASCII码(American Standard Code for Information Interchange,美国信息交换标准码),由美国国家标准学会ANSI(American National Standard Institute)于1968年正式制定。之后,ASCII编码标准又于1972年被ISO/IEC采用,制定为ISO/IEC 646标准(ISO,即国际标准化组织International Standardization Organization,成立于1946年;IEC,即国际电工技术委员会International Electrotechnical Commission,成立于1906年;ISO/IEC往往用来表示由这两大国际组织联合制定的标准)。因此,ISO/IEC 646(常简称为ISO 646)与ASCII,实际上指的是同一个编码标准。ASCII编码方案虽然不是最早出现的字符编码方案,但目前却是最基础、最重要、应用最广泛的字符编码方案。 目前所通行的其他字符编码方案,比如ISO-8859系列、GB系列(GB2312、GBK、GB18030、GB13000)、Big5、Unicode等等,均直接或间接兼容ASCII码。(注意:间接兼容实际上是不兼容,比如本身ASCII码一个字节的编码在有些编码方案或方式用两个字节表示,虽然编码值相同,实际为不兼容)

2.第二阶段:各个多家和地区各自为政的多个ANSI编码方案阶段计算机出现之后,首先逐渐从美国发展到了欧洲。

由于欧洲很多国家所用到的字符中,除了基本的、美国也用的那128个ASCII字符之外,还有很多衍生的拉丁字母等字符。比如,在法语中,字母上方有注音符号;而欧洲其他国家也有各自特有的字符。 考虑到一个字节能够表示的编码实际上有256个(2^8 = 256),而ASCII字符却只用到了一个字节中的低7位(因此在ASCII码中最高位总是为0),编号为0x00-0x7F(十进制为0~127)。 也就是说,ASCII只使用了一个字节所能表示的256个编码中的前128个(2^7 = 128)编码,而后128个编码相当于被闲置了。因此,欧洲各国纷纷打起了后面这128个编码的主意。问题在于,欧洲各国同时都有这样的想法。于是各国针对后面的0x80-0xFF(十进制为128~255)这128个编码分别对应什么样的字符,就有了各自不同的设计。于是,字符编码的历史,从第一阶段的单一ASCII编码方案阶段,发展到了各个多家和地区各自为政的多个ANSI编码方案阶段的第二阶段。 为了结束欧洲各国这种自行其是的混乱局面,于是又先后设计了两套统一的,既兼容ASCII码,又支持欧洲各国所使用的那些衍生字符的单字节编码方案:一个是EASCII(Extended ASCII)字符编码方案,另一个是ISO/IEC 8859字符编码方案。

2.1 EASCII码

EASCII码虽然与ASCII码一样使用单字节编码,但却可以表示最多256个字符(2^8 = 256),比ASCII的128个字符(2^7=128)多了一倍。因此,在EASCII码中,当第一个比特位(即字节的最高位)为0时,仍表示之前那些常用的ASCII字符(实际的二进制编码为0000 0000 ~ 0111 1111,对应的十进制就是0~127),而为1时就表示补充扩展的其他衍生字符(实际的二进制编码为1000 0000 ~ 1111 1111,对应的十进制就是128~255)。这样就在ASCII码的基础上,既保证了对ASCII码的兼容性,又补充扩展了新的字符,于是就称之为Extended ASCII码(即扩展ASCII码),简称为EASCII码。不过**,EASCII码目前已经很少使用,相当于是被废弃了**,原因在于其容纳的字符太少,而且国际化和标准化程度不够,不同厂商和平台在实现上有差异。因此,EASCII码目前已基本被容纳字符更多、设计更为优良、更具有国际化和标准化特点的ISO/IEC 8859字符编码方案取代了。

2.2 ISO/IEC 8859码

ISO/IEC 8859字符编码方案与EASCII字符编码方案类似,也同样是在ASCII码的基础上,利用了ASCII的7位编码所没有用到的最高位(首位),将编码范围从原先ASCII码的0x00-0x7F(十进制为0-127),扩展到了0x80-0xFF(十进制为128~255)。 与ASCII、EASCII字符编码方案只包括单个独立的字符集不同,ISO/IEC 8859字符编码方案包括了一组字符集,或者说ISO/IEC 8859相当于是一组字符集的总称,其内共包含了15个字符集,即ISO/IEC 8859-n,n=1、2、3…15、16,其中12未定义,所以实际上共15个。这15个字符集,大致上包括了欧洲各国所使用到的字符(甚至还包括一些外来语字符),而且每一个字符集的补充扩展部分(即除了兼容ASCII字符之外的部分),都只实际使用了0xA0-0xFF(十进制为160-255)这96个编码,而0x80-0x9F(十进制为128~159)这32个编码并未实际定义字符。 其中,目前使用得最为普遍的是ISO/IEC 8859-1字符集,收录了西欧常用字符(包括德法两国的字母)。ISO/IEC 8859-1往往简称为ISO 8859-1,而且还有一个称之为Latin-1(也写作Latin1)的别名,即:ISO/IEC 8859-1 等于ISO 8859-1 等于 La



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3