什么是字符編碼

基礎(chǔ)知識

計算機(jī)中儲存的信息都是用二進(jìn)制數(shù)表示的;而我們在屏幕上看到的英文灵嫌、漢字等字符是二進(jìn)制數(shù)轉(zhuǎn)換之后的結(jié)果。通俗的說猖凛,按照何種規(guī)則將字符存儲在計算機(jī)中绪穆,如'a'用什么表示辨泳,稱為"編碼";反之菠红,將存儲在計算機(jī)中的二進(jìn)制數(shù)解析顯示出來难菌,稱為"解碼",如同密碼學(xué)中的加密和解密郊酒。在解碼過程中键袱,如果使用了錯誤的解碼規(guī)則摹闽,則導(dǎo)致'a'解析成'b'或者亂碼。

什么是字符集

字符集是書寫系統(tǒng)字母與符號的集合比藻。例如倘屹,ASCII 字符集包括英語字母、符號纽匙;ISO-8859-6字符集包括許多基于阿拉伯語言文字的字母、符號馏段;Unicode 字符集涵蓋世界上多數(shù)活語言文字字符践瓷。

字符集里的字符在計算機(jī)中存儲為一個或多個字節(jié),每一個或每一序列字節(jié)代表一特定字符晕翠。字符編碼關(guān)鍵在將一特定字節(jié)或序列字節(jié)編碼對應(yīng) ( 映射 )以文本字體顯示的特定字符。

什么是字符編碼

字符集只是一個規(guī)則集合的名字硫麻,對應(yīng)到真實生活中樊卓,字符集就是對某種語言的稱呼。例如:英語碌尔,漢語,日語奢赂。對于一個字符集來說要正確編碼轉(zhuǎn)碼一個字符需要三個關(guān)鍵元素:字庫表(character repertoire)颈走、編碼字符集(coded character set)、字符編碼(character encoding form)。其中字庫表是一個相當(dāng)于所有可讀或者可顯示字符的數(shù)據(jù)庫序厉,字庫表決定了整個字符集能夠展現(xiàn)表示的所有字符的范圍毕箍。編碼字符集,即用一個編碼值code point來表示一個字符在字庫中的位置而柑。字符編碼,將編碼字符集和實際存儲數(shù)值之間的轉(zhuǎn)換關(guān)系粹排。一般來說都會直接將code point的值作為編碼后的值直接存儲涩澡。例如在ASCII中A在表中排第65位,而編碼后A的數(shù)值是0100 0001也即十進(jìn)制的65的二進(jìn)制轉(zhuǎn)換結(jié)果射富。 看到這里粥帚,可能很多讀者都會有和我當(dāng)初一樣的疑問:字庫表和編碼字符集看來是必不可少的,那既然字庫表中的每一個字符都有一個自己的序號茎辐,直接把序號作為存儲內(nèi)容就好了掂恕。為什么還要多此一舉通過字符編碼把序號轉(zhuǎn)換成另外一種存儲格式呢?其實原因也比較容易理解:統(tǒng)一字庫表的目的是為了能夠涵蓋世界上所有的字符依啰,但實際使用過程中會發(fā)現(xiàn)真正用的上的字符相對整個字庫表來說比例非常低店枣。例如中文地區(qū)的程序幾乎不會需要日語字符,而一些英語國家甚至簡單的ASCII字庫表就能滿足基本需求鸯两。而如果把每個字符都用字庫表中的序號來存儲的話,每個字符就需要3個字節(jié)(這里以Unicode字庫為例)忙灼,這樣對于原本用僅占一個字符的ASCII編碼的英語地區(qū)國家顯然是一個額外成本(存儲體積是原來的三倍)。算的直接一些酸舍,同樣一塊硬盤,用ASCII可以存1500篇文章啃勉,而用3字節(jié)Unicode序號存儲只能存500篇双妨。于是就出現(xiàn)了UTF-8這樣的變長編碼。在UTF-8編碼中原本只需要一個字節(jié)的ASCII字符枝嘶,仍然只占一個字節(jié)哑诊。而像中文及日語這樣的復(fù)雜字符就需要2個到3個字節(jié)來存儲。

參考鏈接

http://cenalulu.github.io/linux/character-encoding/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末竞阐,一起剝皮案震驚了整個濱河市暑劝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌担猛,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件先改,死亡現(xiàn)場離奇詭異蒸走,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)该溯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門别惦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人氯庆,你說我怎么就攤上這事〉闱纾” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵陪竿,是天一觀的道長屠橄。 經(jīng)常有香客問我,道長锐墙,這世上最難降的妖魔是什么溪北? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮茉继,結(jié)果婚禮上蚀乔,老公的妹妹穿的比我還像新娘烁竭。我一直安慰自己吉挣,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布终吼。 她就那樣靜靜地躺著汉买,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上威彰,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天歇盼,我揣著相機(jī)與錄音,去河邊找鬼。 笑死慨代,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的侍匙。 我是一名探鬼主播叮雳,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼说莫!你這毒婦竟也來了寞焙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤晶密,失蹤者是張志新(化名)和其女友劉穎模她,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侈净,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡畜侦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了澎语。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片验懊。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖义图,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情娃承,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布酗昼,位于F島的核電站,受9級特大地震影響麻削,放射性物質(zhì)發(fā)生泄漏舔示。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一竖共、第九天 我趴在偏房一處隱蔽的房頂上張望俺祠。 院中可真熱鬧,春花似錦蜘渣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吐葱。三九已至校翔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間孟辑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工饲嗽, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留燕偶,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓酝惧,卻偏偏與公主長得像伯诬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子盗似,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

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

  • 在了解什么是字符編碼之前赫舒,首先要了解什么是字符集? 我們在計算機(jī)屏幕上看到的是實體化的文字接癌,而在計算機(jī)存儲介質(zhì)中存...
    饑人谷_oathy閱讀 470評論 0 1
  • 字符編碼缺猛,編碼的意思是指將數(shù)據(jù)通過一定方式表達(dá)或儲存。所以字符編碼就是字符的表現(xiàn)荔燎、儲存方式,也就是字符集的實現(xiàn)方式...
    萊昂納德剛閱讀 946評論 0 0
  • 一琐簇、前言 一直以來座享,都對字符編碼有一個較模糊的概念,更談不上懂得其中的原理征讲。本文記錄自己對字符編碼的學(xué)習(xí)。 二诗箍、概...
    青鳴閱讀 2,140評論 0 0
  • 計算機(jī)是如何存儲數(shù)據(jù)的 在談什么是字符編碼前滤祖,我們首先要知道一個概念筷狼,計算機(jī)是如何存儲數(shù)據(jù)的:計算機(jī)是由邏輯電路組...
    七里之境閱讀 257評論 0 1
  • 請把作業(yè)卡保存以后埂材,再上傳到自己的簡書作業(yè)里汤求,然后再下面寫A1A2严拒,保持一篇文章的完整性。
    親子教育小六閱讀 172評論 0 1