2.2.2.5. ISO 8859和ISO-8859的区别和联系

ISO 8859和ISO-8859,不是同一个东西。

注意,后者是ISO和8859中间带了一个小横短线的。

前者,ISO 8859是ISO/IEC 8859标准集合的简称,对应包含了 ISO/IEC 8859-n,其中n为除去2之外的1到16,这共15种字符集合。

ISO-8859,是ISO-8859-n的简称,是IANA根据ISO/IEC 8859-n的标准,加上对应的前面提到的普通的ASCII字符,和ISO/IEC 6429所定义的的控制字符,所制定的标准。

其中,由于ASCII中也包含了0x00-0x1F的控制字符,所以和ISO/IEC 6429中的C0控制字符重复了,但是两者定义都是一样的,所以从字符编码上来说,不会产生任何冲突。

因此,ISO-8859-n所以可以表示:

ISO-8859

= ISO-8859-n的简称

= ISO 8859-n + ASCII + ISO/IEC 6429

其中,n=1,...,11,13,...,16,共15种编码集合。

对应的,ISO 8859-1和ISO-8859-1两者当前也是不一样的,其区别也是:

ISO-8859-1

= ISO 8859-1 + ASCII + ISO/IEC 6429

= ISO/IEC 8859-1 + ASCII + ISO/IEC 6429

2.2.2.5.1. 原先的ISO 8859-1和我们常说的ISO 8859-1

原先的ISO 8859-1即ISO/IEC 8859-1,其编码前面已经介绍过了,此处只是给出对应的字符表:

图 2.2. ISO/IEC 8859-1字符集表

ISO/IEC 8859-1字符集表


其中绿色的部分,就是原先ISO 8859-1中未定义的部分。而这部分,之前已经解释了,是在另外的一个标准ISO/IEC 6429中定义的。

此处,需要注意的是,目前大家最常见的,提到最多的ISO 8859-1,实际多数都是指的是ISO-8859-1,即,是那个,既整合了0x20-0x1F这部分的普通的可以显示的ASCII字母(基本的拉丁字母),又包含了对应的控制字符( C0 control和C1 control),同时也包含了欧洲多数国家所用到那些字符(扩展的拉丁字母,即ISO/IEC 8859-1中所定义的那些字符)。

总结起来就是:

常说的ISO 8859-1

= 实际上是ISO-8859-1

= ASCII + ISO/IEC 6429 + ISO 8859-1

= ASCII + ISO/IEC 6429 + ISO/IEC 8859-1

= (0x20-0x1F) + (0x0-0x1F + 0x80-0x9F) + (0xA0-0xFF)

= ASCII中的可见字符 + C0和C1的控制字符 + 欧洲多国所用的扩展的拉丁字符