每一種語言的不同的編碼頁,增加了那些需要支持不同語言的軟件的復雜度。因而人們制定了一個世界標準,叫做unicode(
http://www.unicode.org).Unicode為每個字符提供了唯一的特定數(shù)值,不論在什么平臺上、不論在什么軟件中,也不論什么語言。也就是說,它世界上使用的所有字符都列出來,并給每一個字符一個唯一特定數(shù)值。
什么是UTF-8?它與UNICODE是一回事嗎?
Unicode的最初目標,是用1個16位的編碼來為超過65000字符提供映射。但這還不夠,它不能覆蓋全部歷史上的文字,也不能解決傳輸?shù)膯栴} (implantation head-ache‘s),尤其在那些基于網(wǎng)絡的應用中。已有的軟件必須做大量的工作來程序16位的數(shù)據(jù)。
因此,Unicode用一些基本的保留字符制定了三套編碼方式。它們分別是UTF-8,UTF-16和UTF-32。正如名字所示,在UTF-8中,字符是以8位序列來編碼的,用一個或幾個字節(jié)來表示一個字符。這種方式的最大好處,是UTF-8保留了ASCII字符的編碼做為它的一部分,例如,在UTF-8和ASCII中,“A”的編碼都是0x41.
UTF-16和UTF-32分別是Unicode的16位和32位編碼方式??紤]到最初的目的,通常說的Unicode就是指UTF-16。在討論Unicode時,搞清楚哪種編碼方式非常重要。Unicdoe相關(guān)的技術(shù)介紹參見http://www.unicode.org/unicode/standard/principles.html.