EASCII及ISO 8859字符編碼方案
1.
計算機出現(xiàn)之后,首先逐漸從美國發(fā)展到了歐洲。由于歐洲很多國家所用到的字符中,除了基本的、美國也用的那128個ASCII字符之外,還有很多衍生的拉丁字母等字符。比如,在法語中,字母上方有注音符號;而歐洲其他國家也有各自特有的字符。
考慮到一個字節(jié)能夠表示的編碼實際上有256個(2^8 = 256),而ASCII字符卻只用到了一個字節(jié)中的低7位(因此在ASCII碼中最高位總是為0),編號為0x00~0x7F(十進制為0~127)。也就是說,ASCII只使用了一個字節(jié)所能表示的256個編碼中的前128個(2^7 = 128)編碼,而后128個編碼相當于被閑置了。因此,歐洲各國紛紛打起了后面這128個編碼的主意。
2.
可問題在于,歐洲各國同時都有這樣的想法。于是各國針對后面的0x80~0xFF(十進制為128~255)這128個編碼分別對應什么樣的字符,就有了各自不同的設計。
為了結束歐洲各國這種各自為政的混亂局面,于是又先后設計了兩套統(tǒng)一的,既兼容ASCII碼,又支持歐洲各國所使用的那些衍生字符的單字節(jié)編碼方案:一個是EASCII(Extended ASCII)字符編碼方案,另一個是ISO/IEC 8859字符編碼方案。
(笨笨阿林原創(chuàng)文章,轉載請注明出處)
3.
先來說EASCII碼。EASCII碼同樣也是將ASCII中閑置的最高位(即首位)用來編碼新的字符(這些ASCII字符之外的新字符,其最高位總是為1)。換言之,也就是將一個字節(jié)中的全部8個比特位用來表示一個字符。比如,法語中的é的編碼為130(二進制1000 0010)。
顯然,EASCII碼雖與ASCII碼一樣使用單字節(jié)編碼,但卻可以表示最多256個字符(2^8 = 256),比ASCII的128個字符(2^7=128)多了一倍。
因此,在EASCII碼中,當?shù)谝粋€比特位(即字節(jié)的最高位)為0時,仍表示之前那些常用的ASCII字符(實際的二進制編碼為0000 0000 ~ 0111 1111,對應的十進制就是0~127),而為1時就表示補充擴展的其他衍生字符(實際的二進制編碼為1000 0000 ~ 1111 1111,對應的十進制就是128~255)。