字符編碼(ASCII GBK UTF-8等)

ASCII碼

標(biāo)準(zhǔn)字符集

最初的計(jì)算機(jī)只是美國(guó)為首的西方發(fā)達(dá)國(guó)家在用膛虫,在他們的語言中,主要以26個(gè)英文字符為主,加上大小寫氛改、空格和其他一些標(biāo)點(diǎn)符號(hào)等匀借,一共有127個(gè)字符,所以大家約定用一種標(biāo)準(zhǔn)來定義這些編碼平窘,也就是ASCII碼(American Standard Code for Information Interchange吓肋,美國(guó)信息互換標(biāo)準(zhǔn)代碼)。而一個(gè)字節(jié)有八位瑰艘,也就可以表示256個(gè)字符(2^8)是鬼,所以一個(gè)ASCII碼用一個(gè)字節(jié)就可以表示了。

擴(kuò)展字符集

后來紫新,世界上其他國(guó)家也開始使用計(jì)算機(jī)均蜜,然后這些國(guó)家的語言中的很多字符在標(biāo)準(zhǔn)ASCII碼中并沒有,所以芒率,他們就要想辦法增加自己的字符囤耳。又發(fā)現(xiàn)一個(gè)字節(jié)有256個(gè)字符,標(biāo)準(zhǔn)ASCII碼只有127個(gè)字符偶芍,所以充择,他們就用127號(hào)往后的空位來表示他們的新的字符,形成了一個(gè)新的標(biāo)準(zhǔn)匪蟀,叫做ASCII碼的擴(kuò)展字符集椎麦。

GB2312

當(dāng)中國(guó)人開始使用計(jì)算機(jī)后,ASCII碼中已經(jīng)沒有空位來給我們用來表示漢字了材彪,況且观挎,常用的漢字有6000多個(gè),一個(gè)字節(jié)是無論如何不夠我們使用的了段化。于是嘁捷,我們便將127號(hào)以后的字符全部取消掉,并規(guī)定一個(gè)小于127的字符的意義跟以前相同显熏,但是兩個(gè)大于127的字符連在一起時(shí)雄嚣,就表示是一個(gè)漢字,高字節(jié)從0xA1到0xF7佃延,低字節(jié)從0xA1到0xFE现诀,這樣我們就能組合出7000多個(gè)簡(jiǎn)體漢字。并且在這些編碼里履肃,我們還把數(shù)字符號(hào)、羅馬字母等都編寫進(jìn)去了坐桩,還把原來ASCII里本來就有的數(shù)字尺棋、標(biāo)點(diǎn)、字符都統(tǒng)統(tǒng)重新編寫了兩個(gè)字節(jié)的編碼,就是“全角”膘螟,而原本127號(hào)一下的就叫“半角”成福。這種規(guī)范叫做GB2312。

GBK

但是中國(guó)的漢字是在太多了荆残,特別是有些人名(國(guó)家領(lǐng)導(dǎo)人的名字)沒有包含在GB2312中奴艾,就干脆不再要求低字節(jié)也必須是127號(hào)之后了,只要高字節(jié)大于127就固定表示這是一個(gè)漢字的開始内斯,結(jié)果擴(kuò)展后的標(biāo)準(zhǔn)叫做GBK標(biāo)準(zhǔn)蕴潦,GBK包括了GB2312的所有內(nèi)容,同時(shí)又增加了近20000個(gè)漢字(包括繁體字)和符號(hào)俘闯。

GB18030

后來少數(shù)民族也要用計(jì)算機(jī)潭苞,又多了幾千個(gè)少數(shù)民族的字,GBK就擴(kuò)展成了GB18030真朗。中國(guó)的程序員們看到這一系列漢字編碼的標(biāo)準(zhǔn)是好的此疹,于是通稱他們叫做 "DBCS"(Double Byte Charecter Set 雙字節(jié)字符集)。這時(shí)一個(gè)漢字算兩個(gè)英文字符遮婶!

UNICODE

當(dāng)時(shí)各個(gè)國(guó)家都像中國(guó)一樣搞出來這樣一套標(biāo)準(zhǔn)蝗碎,結(jié)果就是誰也不懂誰的編碼,誰也不支持別人的編碼旗扑,就連臺(tái)灣地區(qū)都搞出一套big-5標(biāo)準(zhǔn)衍菱。所以ISO組織便出面解決這個(gè)問題,解決辦法就是廢除所有的地區(qū)性編碼方案肩豁,重新搞了一個(gè)包括地球上所有文化脊串、字母和符號(hào)的編碼,叫做"Universal Multiple-Octet Coded Character Set"清钥,簡(jiǎn)稱 UCS, 俗稱 "UNICODE"琼锋。
ISO規(guī)定,必須用兩個(gè)字節(jié)祟昭,也就是16位統(tǒng)一表示所有字符缕坎,對(duì)于ASCII碼中的“半角”字符,UNICODE保持不變篡悟,只是將原來的長(zhǎng)度從8位擴(kuò)展到了16位谜叹,其他國(guó)家的重新編碼。至此搬葬,所有的字符(不管是漢字還是英文)都是一個(gè)字符荷腊,兩個(gè)字節(jié)。
但是急凰,UNICODE 在制訂時(shí)沒有考慮與任何一種現(xiàn)有的編碼方案保持兼容女仰,這使得 GBK 與UNICODE 在漢字的內(nèi)碼編排上完全是不一樣的,沒有一種簡(jiǎn)單的算術(shù)方法可以把文本內(nèi)容從UNICODE編碼和另一種編碼進(jìn)行轉(zhuǎn)換,這種轉(zhuǎn)換必須通過查表來進(jìn)行疾忍。

UTF-8

UNICODE 來到時(shí)乔外,一起到來的還有計(jì)算機(jī)網(wǎng)絡(luò)的興起,UNICODE 如何在網(wǎng)絡(luò)上傳輸也是一個(gè)必須考慮的問題一罩,于是面向傳輸?shù)谋姸?UTF(UCS Transfer Format)標(biāo)準(zhǔn)出現(xiàn)了杨幼,顧名思義,UTF8就是每次8個(gè)位傳輸數(shù)據(jù)聂渊,而UTF16就是每次16個(gè)位差购,只不過為了傳輸時(shí)的可靠性,從UNICODE到UTF時(shí)并不是直接的對(duì)應(yīng)歧沪,而是要過一些算法和規(guī)則來轉(zhuǎn)換歹撒。中文UTF8大多是三字節(jié)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诊胞,一起剝皮案震驚了整個(gè)濱河市暖夭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌撵孤,老刑警劉巖迈着,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異邪码,居然都是意外死亡裕菠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門闭专,熙熙樓的掌柜王于貴愁眉苦臉地迎上來奴潘,“玉大人,你說我怎么就攤上這事影钉』瑁” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵平委,是天一觀的道長(zhǎng)奈虾。 經(jīng)常有香客問我,道長(zhǎng)廉赔,這世上最難降的妖魔是什么肉微? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮蜡塌,結(jié)果婚禮上碉纳,老公的妹妹穿的比我還像新娘。我一直安慰自己岗照,他們只是感情好村象,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布笆环。 她就那樣靜靜地躺著攒至,像睡著了一般厚者。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上迫吐,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天库菲,我揣著相機(jī)與錄音,去河邊找鬼志膀。 笑死熙宇,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的溉浙。 我是一名探鬼主播烫止,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼戳稽!你這毒婦竟也來了馆蠕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤惊奇,失蹤者是張志新(化名)和其女友劉穎互躬,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颂郎,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吼渡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了乓序。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寺酪。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖替劈,靈堂內(nèi)的尸體忽然破棺而出寄雀,到底是詐尸還是另有隱情,我是刑警寧澤抬纸,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布咙俩,位于F島的核電站,受9級(jí)特大地震影響湿故,放射性物質(zhì)發(fā)生泄漏阿趁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一坛猪、第九天 我趴在偏房一處隱蔽的房頂上張望脖阵。 院中可真熱鬧,春花似錦墅茉、人聲如沸命黔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悍募。三九已至蘑辑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間坠宴,已是汗流浹背洋魂。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喜鼓,地道東北人副砍。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像庄岖,于是被迫代替她去往敵國(guó)和親豁翎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容