福利视频一区二区_亚洲精品自产拍_一区二区日韩av_av在线精品

ASCII,Unicode和UTF-8簡述
admin
2015-04-18 19:23:18
108

字符編碼是計(jì)算機(jī)技術(shù)的基石,想要熟練使用計(jì)算機(jī),就必須懂得一點(diǎn)字符編碼的知識。

1. ASCII碼

我 們知道,在計(jì)算機(jī)內(nèi)部,所有的信息最終都表示為一個(gè)二進(jìn)制的字符串。每一個(gè)二進(jìn)制位(bit)有0和1兩種狀態(tài),因此八個(gè)二進(jìn)制位就可以組合出256種狀 態(tài),這被稱為一個(gè)字節(jié)(byte)。也就是說,一個(gè)字節(jié)一共可以用來表示256種不同的狀態(tài),每一個(gè)狀態(tài)對應(yīng)一個(gè)符號,就是256個(gè)符號,從 0000000到11111111。

上個(gè)世紀(jì)60年代,美國制定了一套字符編碼,對英語字符與二進(jìn)制位之間的關(guān)系,做了統(tǒng)一規(guī)定。這被稱為ASCII碼,一直沿用至今。

ASCII碼一共規(guī)定了128個(gè)字符的編碼,比如空格“SPACE”是32(二進(jìn)制00100000),大寫的字母A是65(二進(jìn)制01000001)。這128個(gè)符號(包括32個(gè)不能打印出來的控制符號),只占用了一個(gè)字節(jié)的后面7位,最前面的1位統(tǒng)一規(guī)定為0。

2、非ASCII編碼

英 語用128個(gè)符號編碼就夠了,但是用來表示其他語言,128個(gè)符號是不夠的。比如,在法語中,字母上方有注音符號,它就無法用ASCII碼表示。于是,一 些歐洲國家就決定,利用字節(jié)中閑置的最高位編入新的符號。比如,法語中的é的編碼為130(二進(jìn)制10000010)。這樣一來,這些歐洲國家使用的編碼 體系,可以表示最多256個(gè)符號。

但 是,這里又出現(xiàn)了新的問題。不同的國家有不同的字母,因此,哪怕它們都使用256個(gè)符號的編碼方式,代表的字母卻不一樣。比如,130在法語編碼中代表了 é,在希伯來語編碼中卻代表了字母Gimel (?),在俄語編碼中又會(huì)代表另一個(gè)符號。但是不管怎樣,所有這些編碼方式中,0—127表示的符號是一樣的,不一樣的只是128—255的這一段。

至 于亞洲國家的文字,使用的符號就更多了,漢字就多達(dá)10萬左右。一個(gè)字節(jié)只能表示256種符號,肯定是不夠的,就必須使用多個(gè)字節(jié)表達(dá)一個(gè)符號。比如,簡 體中文常見的編碼方式是GB2312,使用兩個(gè)字節(jié)表示一個(gè)漢字,所以理論上最多可以表示256x256=65536個(gè)符號。

中文編碼的問題需要專文討論,這篇筆記不涉及。這里只指出,雖然都是用多個(gè)字節(jié)表示一個(gè)符號,但是GB類的漢字編碼與后文的Unicode和UTF-8是毫無關(guān)系的。

3.Unicode

正如上一節(jié)所說,世界上存在著多種編碼方式,同一個(gè)二進(jìn)制數(shù)字可以被解釋成不同的符號。因此,要想打開一個(gè)文本文件,就必須知道它的編碼方式,否則用錯(cuò)誤的編碼方式解讀,就會(huì)出現(xiàn)亂碼。為什么電子郵件常常出現(xiàn)亂碼?就是因?yàn)榘l(fā)信人和收信人使用的編碼方式不一樣。

可以想象,如果有一種編碼,將世界上所有的符號都納入其中。每一個(gè)符號都給予一個(gè)獨(dú)一無二的編碼,那么亂碼問題就會(huì)消失。這就是Unicode,就像它的名字都表示的,這是一種所有符號的編碼。

Unicode 當(dāng)然是一個(gè)很大的集合,現(xiàn)在的規(guī)模可以容納100多萬個(gè)符號。每個(gè)符號的編碼都不一樣,比如,U+0639表示阿拉伯字母Ain,U+0041表示英語的 大寫字母A,U+4E25表示漢字“嚴(yán)”。具體的符號對應(yīng)表,可以查詢unicode.org,或者專門的漢字對應(yīng)表。

4. Unicode的問題

需要注意的是,Unicode只是一個(gè)符號集,它只規(guī)定了符號的二進(jìn)制代碼,卻沒有規(guī)定這個(gè)二進(jìn)制代碼應(yīng)該如何存儲(chǔ)。

比如,漢字“嚴(yán)”的unicode是十六進(jìn)制數(shù)4E25,轉(zhuǎn)換成二進(jìn)制數(shù)足足有15位(100111000100101),也就是說這個(gè)符號的表示至少需要2個(gè)字節(jié)。表示其他更大的符號,可能需要3個(gè)字節(jié)或者4個(gè)字節(jié),甚至更多。

這 里就有兩個(gè)嚴(yán)重的問題,第一個(gè)問題是,如何才能區(qū)別unicode和ascii?計(jì)算機(jī)怎么知道三個(gè)字節(jié)表示一個(gè)符號,而不是分別表示三個(gè)符號呢?第二個(gè) 問題是,我們已經(jīng)知道,英文字母只用一個(gè)字節(jié)表示就夠了,如果unicode統(tǒng)一規(guī)定,每個(gè)符號用三個(gè)或四個(gè)字節(jié)表示,那么每個(gè)英文字母前都必然有二到三 個(gè)字節(jié)是0,這對于存儲(chǔ)來說是極大的浪費(fèi),文本文件的大小會(huì)因此大出二三倍,這是無法接受的。

它們造成的結(jié)果是:1)出現(xiàn)了unicode的多種存儲(chǔ)方式,也就是說有許多種不同的二進(jìn)制格式,可以用來表示unicode。2)unicode在很長一段時(shí)間內(nèi)無法推廣,直到互聯(lián)網(wǎng)的出現(xiàn)。

5.UTF-8

互聯(lián)網(wǎng)的普及,強(qiáng)烈要求出現(xiàn)一種統(tǒng)一的編碼方式。UTF-8就是在互聯(lián)網(wǎng)上使用最廣的一種unicode的實(shí)現(xiàn)方式。其他實(shí)現(xiàn)方式還包括UTF-16和UTF-32,不過在互聯(lián)網(wǎng)上基本不用。重復(fù)一遍,這里的關(guān)系是,UTF-8是Unicode的實(shí)現(xiàn)方式之一。

UTF-8最大的一個(gè)特點(diǎn),就是它是一種變長的編碼方式。它可以使用1~4個(gè)字節(jié)表示一個(gè)符號,根據(jù)不同的符號而變化字節(jié)長度。

UTF-8的編碼規(guī)則很簡單,只有二條:

1)對于單字節(jié)的符號,字節(jié)的第一位設(shè)為0,后面7位為這個(gè)符號的unicode碼。因此對于英語字母,UTF-8編碼和ASCII碼是相同的。

2)對于n字節(jié)的符號(n>1),第一個(gè)字節(jié)的前n位都設(shè)為1,第n+1位設(shè)為0,后面字節(jié)的前兩位一律設(shè)為10。剩下的沒有提及的二進(jìn)制位,全部為這個(gè)符號的unicode碼。

下表總結(jié)了編碼規(guī)則,字母x表示可用編碼的位。

Unicode符號范圍 | UTF-8編碼方式
(十六進(jìn)制) | (二進(jìn)制)
--------------------+---------------------------------------------
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

下面,還是以漢字“嚴(yán)”為例,演示如何實(shí)現(xiàn)UTF-8編碼。

已 知“嚴(yán)”的unicode是4E25(100111000100101),根據(jù)上表,可以發(fā)現(xiàn)4E25處在第三行的范圍內(nèi)(0000 0800-0000 FFFF),因此“嚴(yán)”的UTF-8編碼需要三個(gè)字節(jié),即格式是“1110xxxx 10xxxxxx 10xxxxxx”。然后,從“嚴(yán)”的最后一個(gè)二進(jìn)制位開始,依次從后向前填入格式中的x,多出的位補(bǔ)0。這樣就得到了,“嚴(yán)”的UTF-8編碼是 “11100100 10111000 10100101”,轉(zhuǎn)換成十六進(jìn)制就是E4B8A5。

6. Unicode與UTF-8之間的轉(zhuǎn)換

通過上一節(jié)的例子,可以看到“嚴(yán)”的Unicode碼是4E25,UTF-8編碼是E4B8A5,兩者是不一樣的。它們之間的轉(zhuǎn)換可以通過程序?qū)崿F(xiàn)。

在Windows平臺下,有一個(gè)最簡單的轉(zhuǎn)化方法,就是使用內(nèi)置的記事本小程序Notepad.exe。打開文件后,點(diǎn)擊“文件”菜單中的“另存為”命令,會(huì)跳出一個(gè)對話框,在最底部有一個(gè)“編碼”的下拉條。

文章出自:北京網(wǎng)站建設(shè)公司-前潮網(wǎng)絡(luò) http://www.niordsec.com 如轉(zhuǎn)載請注明出處!

相關(guān)推薦
您想要定制網(wǎng)站嗎?
如果您想要走進(jìn)互聯(lián)網(wǎng),并且想找一個(gè)出色的團(tuán)隊(duì),那就趕緊聯(lián)系我們吧~
福利视频一区二区_亚洲精品自产拍_一区二区日韩av_av在线精品
极品中文字幕一区| 欧美香蕉大胸在线视频观看| 国产精品一二三四| 亚洲精品日韩在线| 美日韩精品视频免费看| 韩日欧美一区二区| 久久福利一区| 国产一区二区三区精品久久久 | 国产精品手机视频| 亚洲一区二区久久| 欧美日韩国产电影| 亚洲美女福利视频网站| 欧美电影免费观看高清完整版| 亚洲电影成人| 老司机午夜免费精品视频| 红桃视频亚洲| 久热国产精品| 亚洲国产欧美精品| 欧美好骚综合网| 日韩视频免费| 欧美日韩精品三区| 中国成人亚色综合网站| 国产精品高清免费在线观看| 亚洲一级片在线看| 国产精品视频导航| 欧美在线首页| 狠狠噜噜久久| 欧美mv日韩mv亚洲| 99re热精品| 国产精品老牛| 久久www成人_看片免费不卡| 激情综合久久| 欧美激情视频给我| 在线亚洲一区二区| 国产免费观看久久黄| 久久精品在线观看| 亚洲国产精品久久久久| 欧美区一区二区三区| 亚洲天堂免费观看| 国产日韩精品在线播放| 久久亚洲一区二区三区四区| 亚洲欧洲三级| 欧美婷婷六月丁香综合色| 香蕉成人伊视频在线观看 | 亚洲高清自拍| 欧美日韩国产在线播放| 亚洲主播在线| 激情欧美丁香| 欧美乱在线观看| 午夜精品久久久久久久久| 国产一区视频在线看| 欧美国产精品va在线观看| 在线综合亚洲| 国产综合精品| 欧美精品成人在线| 午夜在线精品| 亚洲国产精品久久久久婷婷老年| 欧美日韩精品综合在线| 午夜久久tv| 亚洲大片av| 欧美涩涩视频| 久久久青草青青国产亚洲免观| 亚洲精品国产精品乱码不99| 国产精品日韩在线| 久久一区欧美| 亚洲午夜未删减在线观看| 一区二区三区在线视频观看| 欧美日韩精品久久| 久久久久久高潮国产精品视| 夜夜嗨av一区二区三区| 国模私拍一区二区三区| 欧美日韩在线播| 久久久夜精品| 亚洲午夜免费视频| 最近中文字幕日韩精品 | 99精品视频免费观看视频| 国产欧美视频一区二区| 欧美激情第9页| 欧美在线一二三| 日韩系列欧美系列| 狠久久av成人天堂| 国产精品久久久一本精品| 你懂的亚洲视频| 欧美一级一区| 一区二区三区四区国产精品| 樱桃国产成人精品视频| 国产精品羞羞答答xxdd| 欧美精品在线一区| 久久男人av资源网站| 亚洲综合欧美| 亚洲最黄网站| 亚洲高清免费| 国内外成人在线| 国产精品实拍| 欧美理论在线播放| 另类激情亚洲| 欧美在线视频免费观看| 亚洲性视频网址| 亚洲日本免费| 在线观看91久久久久久| 国产日韩综合一区二区性色av| 欧美日韩亚洲一区二区三区四区| 猛男gaygay欧美视频| 久久国产精品99精品国产| 亚洲伊人久久综合| av成人免费在线观看| 亚洲激情成人网| 在线观看中文字幕不卡| 国产一区二区黄色| 国产精品综合网站| 国产精品乱码一区二三区小蝌蚪 | 亚洲大黄网站| 狠狠综合久久| 国产私拍一区| 国产欧美日韩免费| 国产精品女人毛片| 欧美视频二区36p| 欧美日韩国产区一| 欧美精品久久一区二区| 欧美二区乱c少妇| 美日韩丰满少妇在线观看| 欧美日韩第一区日日骚| 国产一区二区三区免费不卡| 国产精品久久久久av| 欧美日韩国产999| 欧美极品一区| 欧美激情日韩| 欧美成人免费视频| 久久一区二区三区四区| 可以免费看不卡的av网站| 久久视频在线免费观看| 久久人人爽人人| 久久激五月天综合精品| 欧美一区国产一区| 久久精品99国产精品| 久久精品成人欧美大片古装| 久久精品亚洲一区二区| 久久久之久亚州精品露出| 久久综合成人精品亚洲另类欧美| 久久婷婷综合激情| 美女爽到呻吟久久久久| 欧美freesex8一10精品| 欧美第一黄网免费网站| 欧美久久久久免费| 欧美日韩一卡二卡| 国产精品国产a级| 国产精品热久久久久夜色精品三区| 国产精品黄视频| 国产欧美精品一区| 好吊日精品视频| 亚洲国产精彩中文乱码av在线播放| 亚洲激情在线视频| 夜久久久久久| 亚洲综合视频一区| 欧美一区二区三区日韩视频| 久久精品国产久精国产思思| 老司机成人网| 欧美日韩18| 国产精品亚洲аv天堂网| 国产在线视频欧美一区二区三区| 在线观看日韩一区| 亚洲麻豆视频| 亚洲欧美视频| 久久一二三四| 欧美日本一区二区视频在线观看| 国产精品豆花视频| 国内精品久久久| 亚洲欧洲在线一区| 亚洲在线成人| 久久久中精品2020中文| 欧美国产先锋| 国产精品亚洲第一区在线暖暖韩国| 国产综合久久久久影院| 亚洲三级网站| 午夜亚洲激情| 麻豆成人综合网| 欧美午夜宅男影院| 国内揄拍国内精品少妇国语| 亚洲精品日产精品乱码不卡| 亚洲一区二区三区免费观看| 久久精品免费| 欧美日韩精品一区二区三区四区| 国产欧美91| 亚洲国产精品传媒在线观看| 亚洲性夜色噜噜噜7777| 久久亚洲精品一区| 国产精品qvod| 亚洲福利国产| 亚洲欧美在线高清| 欧美成人高清视频| 国产精品丝袜xxxxxxx| 亚洲高清不卡| 亚洲欧美视频在线| 欧美黄色一区| 国产亚洲精品久久久| 亚洲毛片在线看| 久久本道综合色狠狠五月| 欧美美女福利视频| 激情丁香综合| 亚洲影院色在线观看免费| 欧美fxxxxxx另类| 国产日产欧产精品推荐色 | 亚洲香蕉网站| 蜜臀久久99精品久久久画质超高清|