什么是編碼忽妒?Unicode和utf-8又是什么玩裙?

什么是編碼?什么是 Unicode 編碼段直?

編碼是為了將人能識別的字符數(shù)字化吃溅,使得計算機(jī)能夠“看”懂

我們知道,計算機(jī)只能處理2進(jìn)制數(shù)字鸯檬,即 0 或 1 决侈,而人能看懂的是一些有意義的字符。因此喧务,這里就需要將人類能看懂的語言字符轉(zhuǎn)換為計算機(jī)能看懂的數(shù)字序列(0 1序列)赖歌,這個過程就是編碼枉圃。

計算機(jī)的編碼類型經(jīng)歷了一個由分到合的過程。由于計算機(jī)是美國人發(fā)明的俏站,所以他們首先提出了一種 ASCII 編碼讯蒲,這種類型的編碼將英文世界中的字母和其他符號(如 ! @ # 這類字符)用計算機(jī)中的一個字節(jié)來表示(計算機(jī)中 bit 是最小的處理單位,1字節(jié) = 8 bit 肄扎,因此一個字節(jié)最多可表示 255 個字符)墨林。打個比方,在ASCII碼中犯祠,大寫字母 U 就表示成 01010101 旭等,我們在計算機(jī)上輸入一個 U ,在計算機(jī)看來實際上是 01010101 的二進(jìn)制串衡载。這下美國人使用計算機(jī)的問題解決了搔耕。

然而中國人也要上網(wǎng),中國人民也想搞出自己的編碼痰娱。但是問題出現(xiàn)了弃榨,除去一些特殊字符,英文世界的語言可以用26個字母排列表示梨睁,然而我國漢字千千萬萬鲸睛,僅僅1個字節(jié)是無法表示的,于是我們想到了用兩個字節(jié)表示一個漢字——GB2312 編碼就應(yīng)運而生坡贺。而且另一個好處在于官辈,GB2312 編碼可以兼容 ASCII 編碼。而此時遍坟,世界上的其他國家也根據(jù)自己的文字特點制定出了自己國家的編碼拳亿。

Unicode 編碼可以解決亂碼問題

各國都有了自己的編碼后又面對交流上的問題——比方說一個漢字在ASCII碼的機(jī)器上會被識別為一群亂碼。為了解決各國間編碼不統(tǒng)一的問題愿伴,國際標(biāo)準(zhǔn)化組織(ISO)和多語言軟件制造商這兩個組織合作搞出了 unicode編碼肺魁,它將所有語言統(tǒng)一到一套編碼。 unicode 編碼采用兩個字節(jié)來表示一個字符隔节,這可以涵蓋世界上主流使用的字符万搔。

什么是 utf-8 編碼? unicode 和 utf-8 編碼之間有何關(guān)系官帘?

utf-8 可以解決利用 Unicode 存儲造成資源浪費的問題

我們看一下 ASCII 和 Unicode 編碼。ASCII編碼中昧谊,U對應(yīng)二進(jìn)制序列是01010101刽虹,而在 Unicode中,U對應(yīng)的二進(jìn)制序列是0000000001010101呢诬∮空埽可見胖缤,同樣表示一個英文字符,利用 Unicode 編碼較 ASCII編碼將多花費一倍的存儲空間阀圾,如果存儲1T的英文資料哪廓,利用 Unicode 將占用2T的資源,這是極大的資源浪費初烘!

將Unicode編碼轉(zhuǎn)換為utf-8編碼一般(英文字符居多的情況)可以節(jié)省存儲空間涡真。詳細(xì)的Unicode轉(zhuǎn)utf-8編碼的規(guī)則這里不做介紹,有興趣可以搜索“ utf-8 編碼規(guī)則”肾筐。

utf-8 編碼一般可以減少字符編碼的長度(特別是英文字符較多的情況)哆料,因此它廣泛運用在存儲和傳輸?shù)那樾蜗隆5?utf-8 也不是沒有缺點吗铐,由于在 utf-8 編碼的規(guī)則下中英文的編碼長度不同东亦,因此這使得我們在內(nèi)存中操作它們時變得很復(fù)雜。所以我們在內(nèi)存中操作的字符使用的一般是 Unicode 編碼唬渗,比如 Python 典阵。下面一張圖將清楚的描述出 Unicode 和 utf-8 編碼的關(guān)系。

Unicode和utf-8的關(guān)系.png

總結(jié)

  • 編碼是信息從一種形式轉(zhuǎn)換為另一種形式的過程镊逝。

  • Unicode 編碼解決了各國間編碼格式不兼容的問題壮啊,運用在內(nèi)存處理中。

  • utf-8 編碼是一種可變長編碼蹋半,是 Unicode 編碼根據(jù)一套規(guī)則轉(zhuǎn)換而來的他巨,運用在傳輸和存儲中。

  • 根據(jù)使用場景我們需要選擇合適的編碼形式减江。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末染突,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子辈灼,更是在濱河造成了極大的恐慌份企,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件巡莹,死亡現(xiàn)場離奇詭異司志,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)降宅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門骂远,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人腰根,你說我怎么就攤上這事激才。” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵瘸恼,是天一觀的道長劣挫。 經(jīng)常有香客問我,道長东帅,這世上最難降的妖魔是什么压固? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮靠闭,結(jié)果婚禮上帐我,老公的妹妹穿的比我還像新娘。我一直安慰自己阎毅,他們只是感情好焚刚,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扇调,像睡著了一般矿咕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狼钮,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天碳柱,我揣著相機(jī)與錄音,去河邊找鬼熬芜。 笑死莲镣,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的涎拉。 我是一名探鬼主播瑞侮,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鼓拧!你這毒婦竟也來了半火?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤季俩,失蹤者是張志新(化名)和其女友劉穎钮糖,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酌住,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡店归,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了酪我。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片消痛。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖都哭,靈堂內(nèi)的尸體忽然破棺而出肄满,到底是詐尸還是另有隱情谴古,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布稠歉,位于F島的核電站,受9級特大地震影響汇陆,放射性物質(zhì)發(fā)生泄漏怒炸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一毡代、第九天 我趴在偏房一處隱蔽的房頂上張望阅羹。 院中可真熱鬧,春花似錦教寂、人聲如沸捏鱼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽导梆。三九已至,卻和暖如春迂烁,著一層夾襖步出監(jiān)牢的瞬間看尼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工盟步, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留藏斩,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓却盘,卻偏偏與公主長得像狰域,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子黄橘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355