utf-8和Unicode到底有什么區(qū)別?是存儲方式不同?編碼方式不同?它們看起來似乎很相似,但是實(shí)際上他們并不是同一個(gè)層次的概念

要想先講清楚他們的區(qū)別,首相應(yīng)該講講Unicode的來由。

眾所周知,在盤古開天辟地之前,sorry ,走錯片場了(⊙o⊙)…在計(jì)算機(jī)發(fā)明的時(shí)候 ,由于計(jì)算機(jī)你只能表示二進(jìn)制的數(shù)據(jù),美帝人民為了交流通信方便,約定了一個(gè)編碼系統(tǒng),就是ASCII碼,把a(bǔ)bc..xyz...ABC...XYZ...!@#...等字符分別和0,1,2,3,4......對應(yīng),發(fā)現(xiàn)差不多剛好128個(gè)數(shù),半個(gè)字節(jié)的長度,為了防止以后需要為新的符號編碼,于是干脆取一個(gè)字節(jié),最高位置為0。后七位從0-127分別對每一個(gè)符號編碼。
于是,計(jì)算機(jī)每次讀取一個(gè)字節(jié),然后參照ASCII表把這些編碼翻譯成字符。美國人民很高興,拿著自己玩去了.......
后來歐洲人也玩計(jì)算機(jī),發(fā)現(xiàn)不行啊,還有很多符號(法語,德語)ASCII沒辦法表示啊,于是歐洲人自己也擼了一套編碼,一個(gè)字節(jié)的長度,把最高位也用掉了。這套編碼叫ISO。
和ASCII表類似,計(jì)算機(jī)也是每次只讀一個(gè)字節(jié),然后按照ISO表,解碼出字符。于是歐洲人民也很高興。
中國人不高興了,特么我們漢字有幾萬個(gè),常用的就有幾千個(gè),沒有兩個(gè)字節(jié)根本交不了貨。于是勤勞勇敢的中國人民就破天荒的用了兩個(gè)字節(jié)來表示中文。整出一套GBK。為了現(xiàn)實(shí)我中華民族兼容并蓄,我們兼容了ASCII編碼。
gbk編碼規(guī)定,計(jì)算機(jī)不能在每次都只讀一個(gè)字節(jié)那么死板了,你要先看看第一位是不是為0,要是為0 的話,就當(dāng)作ASCII碼來讀入一個(gè)字節(jié),不然的話就讀入兩個(gè)字節(jié)。
于是天下就很亂了,歐洲人看不懂我們發(fā)過去的信息,我們也看不懂他們的東西,美國人看不懂我的東西,不過我們能看懂他們的信息。哈哈。

總之,天下大亂,群雄并起,百姓生靈涂........

這個(gè)時(shí)候,就有個(gè)國際組織站出來了,說,這么著吧,我來擼一套編碼,把大家的編碼都?xì)w納進(jìn)來。于是unicode編碼就出現(xiàn)了。這套編碼表的編號從0一直算到了100多萬(三個(gè)字節(jié))。每一個(gè)區(qū)間都對應(yīng)著一種語言的編碼。目前幾乎收納了全世界大部分的字符。所有的字符都有唯一的編號,這就解決了解碼的沖突,于是天下大定!但是,unicode把大家都?xì)w納進(jìn)來,卻沒有為編碼的二進(jìn)制傳輸和二進(jìn)制解碼做出規(guī)定。只留下一句:大哥只能幫你到這里了。

我知道你一定在想,要個(gè)毛的規(guī)定啊,每次讓計(jì)算機(jī)讀取三個(gè)字節(jié)然后參照Unicode表解碼就好了。想法是好的,但是如果如果類似與1號編碼這樣的小數(shù)據(jù)編號也要三個(gè)字節(jié)的話,那么也就是0x000001,這簡直就是浪費(fèi)啊,明明一個(gè)字節(jié)就可以表示了,你非得整三個(gè),幾個(gè)意思?。?br />不管怎么樣,大哥雖然走了,但是問題還得解決啊,于是,就出現(xiàn)了如下解決方案:uft-8,utf-16,utf-32這些編碼方案。utf-16是用兩個(gè)字節(jié)來編碼所有的字符,utf-32則選擇用4個(gè)字節(jié)來編碼。下面只講一下utf-8這種解決方案,因?yàn)樗玫淖疃?,用得最多是因?yàn)樵诋?dāng)時(shí)它的方案最好,最節(jié)省資源。

utf-8為了節(jié)省資源,采用變長編碼,編碼長度從1個(gè)字節(jié)到6個(gè)字節(jié)不等

1.《unicode UTF-8 和 Unicode 的區(qū)別》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《unicode UTF-8 和 Unicode 的區(qū)別》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實(shí),對其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。

3.文章轉(zhuǎn)載時(shí)請保留本站內(nèi)容來源地址,http://f99ss.com/keji/346169.html