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
原先的ISO 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的控制字符 + 欧洲多国所用的扩展的拉丁字符