1. 程式人生 > >gb2312、utf-8、gbk區別

gb2312、utf-8、gbk區別

首先,我們要明白,GB2312、GBK和UTF-8都是一種字元編碼,除此之外,還有好多字元編碼。只是對於我們中國人的網站來說,用這三種編碼 比較多。簡單的說一下,為什麼要用編碼,在計算機內,儲存文字資訊用ASC II碼,每一個字元對應著唯一的ASCII碼。最初計算機是由美國發明的,他們也用的是鍵盤和上面的字母,所以他們的字元ASCII好解決。但是我們中國 的就不同了,每個漢字要對應唯一的ASCII碼。這樣,就出來了國家制定的字元編碼標準:GB2312、GBK等。其他國家,其他語言也有他們對應的編碼 標準。 GB 就是國標的意思,GB2312和GBK主要用於漢字的編碼,而UTF-8是全世界通用的。意思就是說,如果你的網頁主要面對使用漢語的中國人的話,使用 GB2312和GBK非常好,文字儲存體積要小,有一些優點。如果你的網頁要面向世界的話,你再用GB2312和GBK作為網頁編碼的話,有些電腦上的瀏 覽器沒有這種編碼,你的網頁漢字內容就會變成無法識別的亂碼。 它們通常用在網頁的meta標籤內,例如:,表示這個頁面使用的是GB2312編碼。這個資訊是給瀏覽器看的,瀏覽器會優先考慮使用從網頁頭部提取出來的編碼資訊對網頁進行解碼。當然, 我們也可以強制瀏覽器使用某種編碼解釋網頁,這樣我們就看到了傳說中的亂碼。

GB2312編碼大約包含6000多漢字(不包括特殊字元),編碼範圍為第一位b0-f7,第二位編碼範圍為a1-fe(第一位為cf時,第二位為a1-d3),計算一下漢字個數為6762個漢字。當然還有其他的字元。包括控制鍵和其他字元大約7573個字元編碼 gbk編碼是對G B2312編碼的擴充,容納的漢字更多,但僅僅是擴充,沒有質的變化。保留了所有G B2312編碼,在此基礎上進行編碼範圍的擴充.容納(包含特殊字元)共22014個字元編碼. gb18030編碼是在gbk編碼基礎上的擴充,因為漢字更多,僅僅使用兩位編碼已經不能 容納要求的漢字,所以採用了2\4位混和的辦法,可以支援更多的漢字編碼。並且保留了原有的gbk 2位元組編碼相容G B2312和gbk編碼的檔案。大概容納55657個編碼(包含特殊字元) unicode編碼(也就是UTF編碼):俗稱萬國碼,致力於使用統一的編碼準則表達各國的文字。 為表達更多的文字,utf-8採用2/3混編的方式。目前容納的漢字範圍小於gbk編碼。並且以 3位元組的方式處理中文,帶來了相容性的問題,原有的gbk,G B2312,gb18030編碼檔案都不能正常的處理,還有很長的路要走。

GBK、GB2312等與UTF8之間都必須通過Unicode編碼才能相互轉換:
GBK、GB2312--Unicode--UTF8
UTF8--Unicode--GBK、GB2312
對於一個網站、論壇來說,如果英文字元較多,則建議使用UTF-8節省空間。不過現在很多論壇的外掛一般只支援GBK。
如果是中文的網站 推薦GB2312 GBK有時還是有點問題 為了避免所有亂碼問題,應該採用UTF-8,將來要支援國際化也非常方便 UTF-8可以看作是大字符集,它包含了大部分文字的編碼。

使用UTF-8的一個好處是其他地區的使用者(如香港臺灣)無需安裝簡體中文支援就能正常觀看你的文字而不會出現亂碼。


gb2312是簡體中文的碼
gbk支援簡體中文及繁體中文
big5支援繁體中文
utf-8支援幾乎所有字元
中國大陸最常用的就是GBK18030編碼,除此之外還有GBK,GB2312,這幾個編碼的關係是這樣的。 最早制定的漢字編碼是GB2312,包括6763個漢字和682個其它符號 95年重新修訂了編碼,命名GBK1.0,共收錄了21886個符號。 之後又推出了GBK18030編碼,共收錄了27484個漢字,同時還收錄了藏文、蒙文、維吾爾文等主要的少數民族文字,現在WINDOWS平臺必需要支援GBK18030編碼。