眾所周知,UTF-8是一種國(guó)際標(biāo)準(zhǔn)的文字編碼,而GBK的主要是為了我國(guó)國(guó)情而存在的,不過(guò)GBK也將伴隨著中文字符的一直流傳下去。GBK的文字編碼是雙字節(jié)來(lái)表示的,也就是不論中、英文字符均使用雙字節(jié)來(lái)表示,只不過(guò)為了區(qū)分中文,將其最高位都定成1。
至于UTF-8編碼則是用以解決國(guó)際上字符的一種多字節(jié)編碼,它對(duì)英文使用8位(即一個(gè)字節(jié)),中文使用24位(三個(gè)字節(jié))來(lái)編碼。對(duì)于英文字符較多的論壇則用UTF-8節(jié)省空間。
GBK和UTF-8文字編碼的主要區(qū)別:
1、GBK包含全部中文字符;UTF-8則包含全世界所有國(guó)家需要用到的字符。
2、GBK是在國(guó)家標(biāo)準(zhǔn)GB2312基礎(chǔ)上擴(kuò)容后兼容GB2312的標(biāo)準(zhǔn)(好像還不是國(guó)家標(biāo)準(zhǔn));而UTF-8編碼的文字可以在各國(guó)各種支持UTF8字符集的瀏覽器上顯示。
比如,如果是用UTF8編碼,則在國(guó)外的英文IE上也能顯示中文,而無(wú)需他們下載IE的中文語(yǔ)言支持包。所以,對(duì)于英文比較多的論壇或者社區(qū),使用GBK每個(gè)字符占用2個(gè)字節(jié),而使用UTF-8英文卻只占一個(gè)字節(jié)。
注意:
UTF-8版本雖然具有良好的國(guó)際兼容性,但中文需要比GBK/BIG5版本多占用50%的數(shù)據(jù)庫(kù)存儲(chǔ)空間,因此并非推薦使用,僅供對(duì)國(guó)際兼容性有特殊要求的用戶使用。
經(jīng)常有網(wǎng)民詢問(wèn)UTF-8和GBK哪個(gè)編碼好?其實(shí)這個(gè)要根據(jù)個(gè)人需要來(lái)回答,如果你主要做中文程序的開(kāi)發(fā),客戶也主要是中國(guó)人的話就用GBK吧,因?yàn)閁TF-8編碼的中文使用了三個(gè)字節(jié),用GBK節(jié)省了空間。
但如果是做英文網(wǎng)站開(kāi)發(fā),還是用utf-8吧,因?yàn)閡tf-8中英文只占一個(gè)字節(jié)。GBK中英文也是兩個(gè)字節(jié)的,并且國(guó)外客戶訪問(wèn)GBK要下載語(yǔ)言包。如果你的網(wǎng)站是中文的,但國(guó)外用戶也不少,最好也用UTF-8的吧。
總之,GBK編碼方式主要是以中國(guó)國(guó)情而創(chuàng)造的,在國(guó)際上的兼容性不好,這也是為什么大多數(shù)的網(wǎng)頁(yè)是使用UTF-8編碼而不是GBK的原因。