網(wǎng)頁編碼之GB2312、GBK與UTF-8的區(qū)別

首先,我們要明白,GB2312、GBK和UTF-8都是一種字符編碼,除此之外,還有好多字符編碼。只是對于我們中國人的網(wǎng)站來說,用這三種編碼 比較多。簡單的說一下,為什么要用編碼,在計(jì)算機(jī)內(nèi),儲存文本信息用ASC II碼,每一個(gè)字符對應(yīng)著唯一的ASCII碼。最初計(jì)算機(jī)是由美國發(fā)明的,他們也用的是鍵盤和上面的字母,所以他們的字符ASCII好解決。但是我們中國 的就不同了,每個(gè)漢字要對應(yīng)唯一的ASCII碼。這樣,就出來了國家制定的字符編碼標(biāo)準(zhǔn):GB2312、GBK等。其他國家,其他語言也有他們對應(yīng)的編碼 標(biāo)準(zhǔn)。 GB 就是國標(biāo)的意思,GB2312和GBK主要用于漢字的編碼,而UTF-8是全世界通用的。意思就是說,如果你的網(wǎng)頁主要面對使用漢語的中國人的話,使用 GB2312和GBK非常好,文字儲存體積要小,有一些優(yōu)點(diǎn)。如果你的網(wǎng)頁要面向世界的話,你再用GB2312和GBK作為網(wǎng)頁編碼的話,有些電腦上的瀏 覽器沒有這種編碼,你的網(wǎng)頁漢字內(nèi)容就會變成無法識別的亂碼。 它們通常用在網(wǎng)頁的meta標(biāo)簽內(nèi),例如:,表示這個(gè)頁面使用的是GB2312編碼。這個(gè)信息是給瀏覽器看的,瀏覽器會優(yōu)先考慮使用從網(wǎng)頁頭部提取出來的編碼信息對網(wǎng)頁進(jìn)行解碼。當(dāng)然, 我們也可以強(qiáng)制瀏覽器使用某種編碼解釋網(wǎng)頁,這樣我們就看到了傳說中的亂碼。
GBK、GB2312等與UTF8之間都必須通過Unicode編碼才能相互轉(zhuǎn)換:
GBK、GB2312--Unicode--UTF8
UTF8--Unicode--GBK、GB2312
對于一個(gè)網(wǎng)站、論壇來說,如果英文字符較多,則建議使用UTF-8節(jié)省空間。不過現(xiàn)在很多論壇的插件一般只支持GBK。
如果是中文的網(wǎng)站 推薦GB2312 GBK有時(shí)還是有點(diǎn)問題 為了避免所有亂碼問題,應(yīng)該采用UTF-8,將來要支持國際化也非常方便 UTF-8可以看作是大字符集,它包含了大部分文字的編碼。
使用UTF-8的一個(gè)好處是其他地區(qū)的用戶(如香港臺灣)無需安裝簡體中文支持就能正常觀看你的文字*而不會出現(xiàn)亂碼。*
gb2312是簡體中文的碼
gbk支持簡體中文及繁體中文
big5支持繁體中文
utf-8支持幾乎所有字符
中國大陸最常用的就是GBK18030編碼,除此之外還有GBK,GB2312,這幾個(gè)編碼的關(guān)系是這樣的。 最早制定的漢字編碼是GB2312,包括6763個(gè)漢字和682個(gè)其它符號 95年重新修訂了編碼,命名GBK1.0,共收錄了21886個(gè)符號。 之后又推出了GBK18030編碼,共收錄了27484個(gè)漢字,同時(shí)還收錄了藏文、蒙文、維吾爾文等主要的少數(shù)民族文字,現(xiàn)在WINDOWS平臺必需要支持GBK18030編碼。
GB2312編碼大約包含6000多漢字(不包括特殊字符),編碼范圍為第一位b0-f7,第二位編碼范圍為a1-fe(第一位為cf時(shí),第二位為a1-d3),計(jì)算一下漢字個(gè)數(shù)為6762個(gè)漢字。當(dāng)然還有其他的字符。包括控制鍵和其他字符大約7573個(gè)字符編碼 gbk編碼是對G B2312編碼的擴(kuò)充,容納的漢字更多,但僅僅是擴(kuò)充,沒有質(zhì)的變化。保留了所有G B2312編碼,在此基礎(chǔ)上進(jìn)行編碼范圍的擴(kuò)充.容納(包含特殊字符)共22014個(gè)字符編碼. gb18030編碼是在gbk編碼基礎(chǔ)上的擴(kuò)充,因?yàn)闈h字更多,僅僅使用兩位編碼已經(jīng)不能 容納要求的漢字,所以采用了2\4位混和的辦法,可以支持更多的漢字編碼。并且保留了原有的gbk 2字節(jié)編碼兼容G B2312和gbk編碼的文件。大概容納55657個(gè)編碼(包含特殊字符) unicode編碼(也就是UTF編碼):俗稱萬國碼,致力于使用統(tǒng)一的編碼準(zhǔn)則表達(dá)各國的文字。 為表達(dá)更多的文字,utf-8采用2/3混編的方式。目前容納的漢字范圍小于gbk編碼。并且以 3字節(jié)的方式處理中文,帶來了兼容性的問題,原有的gbk,G B2312,gb18030編碼文件都不能正常的處理,還有很長的路要走。
gbk和gb2312的區(qū)別有哪些
首先大家要了解什么是gbk?什么是gb2312?我們要知道他們都是一種字符編碼,當(dāng)然字符編碼還有很多種。
而字符編碼我們可以這樣理解:
在計(jì)算機(jī)中存放的都是0和1的二進(jìn)制值。
8個(gè)位對應(yīng)一個(gè)字節(jié),常用16進(jìn)制來表示。
那么我們?nèi)绻胍谟?jì)算機(jī)上看到我們想要的字符顯示,而不是各種0和1的數(shù)字該怎么實(shí)現(xiàn)呢?
這里我們就需要使計(jì)算機(jī)把其所存儲的對應(yīng)的16進(jìn)制的數(shù)值,轉(zhuǎn)化為對應(yīng)的字符,包括英文和中文等其他語言的字符,然后輸出到屏幕上。
所以編碼也就是,定義了一套規(guī)則,去指定哪些數(shù)值,對應(yīng)著哪些字符。
那么字符編碼,就是定義了一套規(guī)則,指定了計(jì)算機(jī)中存放的這么多值中的哪個(gè)值,對應(yīng)了電腦屏幕顯示出來的哪個(gè)字母。
綜上所述,大家應(yīng)該都能理解GBK和GB2312是一種字符編碼了吧。
下面我們再具體說說他們的區(qū)別與相同點(diǎn):
相同點(diǎn):
1、GBK和GB2312 都是16位的!
2、它們通常用在網(wǎng)頁的meta標(biāo)簽內(nèi)。
不同點(diǎn):
1、GBK字符編碼支持簡體中文和繁體中文!
GBK全稱《漢字內(nèi)碼擴(kuò)展規(guī)范》(GBK即“國標(biāo)”、“擴(kuò)展”漢語拼音的第一個(gè)字母,英文名稱:Chinese Internal Code Specification) ,中華人民共和國全國信息技術(shù)標(biāo)準(zhǔn)化技術(shù)委員會1995年12月1日制訂,國家技術(shù)監(jiān)督局標(biāo)準(zhǔn)化司、電子工業(yè)部科技與質(zhì)量監(jiān)督司1995年12月15日聯(lián)合以技監(jiān)標(biāo)函1995 229號文件的形式,將它確定為技術(shù)規(guī)范指導(dǎo)性文件。
2、GB2312只支持簡體中文!
《信息交換用漢字編碼字符集》是由中國國家標(biāo)準(zhǔn)總局1980年發(fā)布,1981年5月1日開始實(shí)施的一套國家標(biāo)準(zhǔn),標(biāo)準(zhǔn)號是GB 2312—1980。
GB 2312標(biāo)準(zhǔn)共收錄6763個(gè)漢字,其中一級漢字3755個(gè),二級漢字3008個(gè);同時(shí),GB 2312收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內(nèi)的682個(gè)全角字符。
如果你的網(wǎng)頁主要面對使用漢語的中國人的話,使用 GB2312和GBK非常好,文字儲存體積要小,有一些優(yōu)點(diǎn)。如果你的網(wǎng)頁要面向世界的話,你再用GB2312和GBK作為網(wǎng)頁編碼的話,有些電腦上的瀏覽器沒有這種編碼,你的網(wǎng)頁漢字內(nèi)容就會變成無法識別的亂碼。
相關(guān)文章
15 個(gè)為編程初學(xué)者準(zhǔn)備的網(wǎng)站(都是國外的一些網(wǎng)站)
今天的文章,我們將分享15個(gè)可以學(xué)習(xí)編程的網(wǎng)站,這些網(wǎng)站上提供了很多編程教程,圖書以及編程練習(xí),希望對你有用2024-11-02- 這篇文章主要介紹了web開發(fā)中的長度單位主要包括px,pt,em等,需要的朋友可以參考下2023-08-06
網(wǎng)頁前端開發(fā)的一些尺寸單位(px,rem單位)
px單位是絕對單位,一般用于pc端網(wǎng)頁開發(fā),因?yàn)槭墙^對單位所以在移動端上的使用體驗(yàn)并不是很好,rem它是描述相對于當(dāng)前根元素字體尺寸,是相對單位,它可以根據(jù)根元素的變換而2023-08-06WEB前端優(yōu)化必備js/css壓縮工具YUI-compressor詳解與集成用法
壓縮工具層次不窮,各有優(yōu)點(diǎn),選擇適合的壓縮工具為將來做項(xiàng)目開發(fā)使用是一件很重要的事情!!在這介紹YUI-compressor,需要的朋友可以參考下2023-06-21- 瀏覽器是多進(jìn)程的,有瀏覽器主進(jìn)程,網(wǎng)絡(luò)進(jìn)程,渲染進(jìn)程,插件進(jìn)程等,在將html,css,javascript解析成一個(gè)頁面的時(shí)候,就需要多個(gè)進(jìn)程的分工合作2023-05-01
- 本文為大家整理了常用的文件對應(yīng)的MIME類型,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-25
postman中form-data、x-www-form-urlencoded、raw、binary的區(qū)別介紹
這篇文章介紹了postman中form-data、x-www-form-urlencoded、raw、binary的區(qū)別,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-28網(wǎng)頁中使用Unicode字符的介紹(&#,\u等)
國際組織制定了可以容納世界上所有文字和符號的字符編碼方案,稱為Unicode,是通用字符集Universal Character Set的縮寫,用以滿足跨語言、跨平臺進(jìn)行文本轉(zhuǎn)換、處理的要求2021-11-27前端實(shí)現(xiàn)字符串GBK與GB2312的編解碼(小結(jié))
這篇文章主要介紹了前端實(shí)現(xiàn)字符串GBK與GB2312的編解碼(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2020-12-02告別硬編碼讓你的前端表格自動計(jì)算的實(shí)例代碼
這篇文章主要介紹了告別硬編碼讓你的前端表格自動計(jì)算,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-27