當(dāng)前位置:軟件學(xué)堂 > 資訊首頁 > 軟件教程 > 辦公軟件 > UTF-8是什么?UTF-8和GBK的區(qū)別

UTF-8是什么?UTF-8和GBK的區(qū)別

2013/6/6 17:30:55作者:佚名來源:網(wǎng)絡(luò)

移動端

今天學(xué)無憂打開自己的網(wǎng)站查看源文件代碼發(fā)現(xiàn)上面有一句charset=UTF-8的代碼,后來才知道這個(gè)UTF-8是一種編碼。但是學(xué)無憂又看了別人的網(wǎng)站源文件代碼顯示的是GBK(GB2312)編碼,那UTF-8是什么?UTF-8和GBK的區(qū)別在哪里?這里給大家詳細(xì)說明UTF-8和GBK的不同之處。

UTF-8是UNICODE的一種變長字符編碼又稱萬國碼,UTF-8用1到6個(gè)字節(jié)編碼UNICODE字符。用在網(wǎng)頁上可以同一頁面顯示中文簡體繁體及其它語言。UTF-8的有點(diǎn)就是可以通過屏蔽位和移動操作進(jìn)行快速讀寫,字符串比較時(shí)strcmp()和wcscmp()的返回結(jié)果相同,因此使排序變得更加容易。

GBK編碼,是在GB2312-80標(biāo)準(zhǔn)基礎(chǔ)上的內(nèi)碼擴(kuò)展規(guī)范,使用了雙字節(jié)編碼方案。向上支持 ISO 10646.1 國際標(biāo)準(zhǔn),是前者向后者過渡過程中的一個(gè)承上啟下的標(biāo)準(zhǔn)。下面來對比這兩種編碼的區(qū)別?

一、編碼方式不同

UTF-8編碼采用的是一種多字節(jié)編碼,在英文中8位代表一個(gè)字節(jié),而中文字是24位代表一個(gè)字節(jié)。而GBK編碼方式都是通過雙字節(jié)來表達(dá),不管文字是英文還是中文字符都是一概而論,當(dāng)然在區(qū)分中文的時(shí)候,會定位最高位為1。

二、UIF-8及GBK的兼容性

這兩種編碼都是系統(tǒng)的字符編碼,GBK是在國家標(biāo)準(zhǔn)GB2312基礎(chǔ)上擴(kuò)容后兼容GB2312的標(biāo)準(zhǔn),UTF-8編碼的文字可以在各國各種支持UTF8字符集的瀏覽器上顯示。也就是說如果你的網(wǎng)站使用的是UTF-8編碼,在國外觀看你的網(wǎng)站瀏覽器上就會幫你切換到中文狀態(tài),而使用GBK編碼的話,在國外瀏覽網(wǎng)頁就必須要下載中文語言支持包,如果沒有下載就會出現(xiàn)亂碼的現(xiàn)象。

三、UIF-8好還是GBK編碼好?

UTF-8在英文站點(diǎn)中所占用的字節(jié)是1個(gè)字節(jié),而GBK編碼所占用的是2個(gè)字節(jié),這樣如果是在英文網(wǎng)站或者你的網(wǎng)站英文字符過多的話,建議使用UTF-8編碼,這樣能節(jié)省一些空間。

對于中文比較多的論壇 ,使用GBK則每個(gè)字符占用2個(gè)字節(jié),而使用UTF-8中文卻只占3個(gè)字節(jié)??梢圆捎肎BK版本,但是UIF-8在所以瀏覽器都能正常顯示,而GBK可能有些瀏覽器會有不兼容的現(xiàn)象,所以根據(jù)實(shí)際情況來衡量網(wǎng)站到底使用哪種編碼。

標(biāo)簽: 代碼  網(wǎng)頁