




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1頁共13頁常用ASCII碼對照表
字
符ASCII碼字
符ASCII碼十進制二進制十六進制十進制二進制十六進制NUL(空)換行空格?。ǜ袊@號)”#$%&`(引號)()*+,-(減號)./(除號)0123456789:;<=>?@ABCDEFGHIJKL010323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576000000000010100100000010000101000100100011010010001001010100110010011101010000101001010101001010110101100010110101011100101111011000001100010110010011001101101000110101011011001101110111000011100101110100111011011110001111010111110011111110000001000001100001010000111000100100010110001101000111100100010010011001010100101110011000A202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4CMNOPQRSTUVWXYZ[\]^-abcdefghijklmnopqrstuvwxyz{}77787980818283848586878889909192939495979899100101102103104105106107108109110111112113114115116117118119120121122123125100110110011101001111101000010100011010010101001110101001010101101011010101111011000101100110110101011011101110010111011011110101111111000011100010110001111001001100101110011011001111101000110100111010101101011110110011011011101110110111111100001110001111001011100111110100111010111101101110111111100011110011111010111101111111014D4E4F505152535455565758595A5B5C5D5E5F6162636465666768696A6B6C6D6E6F707172737475767778797A7B7D字
符ASCII碼字
符ASCII碼十進制二進制十六進制十進制二進制十六進制1.ASCII碼
在計算機內(nèi)部,所有的信息最終都表示為一個二進制的字符串。每一個二進制位(bit)有0和1兩種狀態(tài),因此八個二進制位就可以組合出256種狀態(tài),這被稱為一個字節(jié)(byte)。也就是說,一個字節(jié)一共可以用來表示256種不同的狀態(tài),每一個狀態(tài)對應(yīng)一個符號,就是256個符號,從0000000到11111111。上個世紀60年代,美國制定了一套字符編碼,對英語字符與二進制位之間的關(guān)系,做了統(tǒng)一規(guī)定。這被稱為ASCII碼,一直沿用至今。ASCII碼一共規(guī)定了128個字符的編碼,比如空格“SPACE”是32(十進制的32,用二進制表示就是00100000),大寫的字母A是65(二進制01000001)。這128個符號(包括32個不能打印出來的控制符號),只占用了一個字節(jié)的后面7位,最前面的1位統(tǒng)一規(guī)定為0。2、非ASCII編碼英語用128個符號編碼就夠了,但是用來表示其他語言,128個符號是不夠的。比如,在法語中,字母上方有注音符號,它就無法用ASCII碼表示。于是,一些歐洲國家就決定,利用字節(jié)中閑置的最高位編入新的符號。比如,法語中的é的編碼為130(二進制10000010)。這樣一來,這些歐洲國家使用的編碼體系,可以表示最多256個符號。但是,這里又出現(xiàn)了新的問題。不同的國家有不同的字母,因此,哪怕它們都使用256個符號的編碼方式,代表的字母卻不一樣。比如,130在法語編碼中代表了é,在希伯來語編碼中卻代表了字母Gimel(?),在俄語編碼中又會代表另一個符號。但是不管怎樣,所有這些編碼方式中,0—127表示的符號是一樣的,不一樣的只是128—255的這一段。至于亞洲國家的文字,使用的符號就更多了,漢字就多達10萬左右。一個字節(jié)只能表示256種符號,肯定是不夠的,就必須使用多個字節(jié)表達一個符號。比如,簡體中文常見的編碼方式是GB2312,使用兩個字節(jié)表示一個漢字,所以理論上最多可以表示256x256=65536個符號。3.Unicode正如上一節(jié)所說,世界上存在著多種編碼方式,同一個二進制數(shù)字可以被解釋成不同的符號。因此,要想打開一個文本文件,就必須知道它的編碼方式,否則用錯誤的編碼方式解讀,就會出現(xiàn)亂碼。為什么電子郵件常常出現(xiàn)亂碼?就是因為發(fā)信人和收信人使用的編碼方式不一樣。解釋:同一個文本文件,假設(shè)內(nèi)容是用英語寫的,在英語編碼的情況下,每個字符會和一個二進制數(shù)對應(yīng)(如00101000類似),然后存到計算機中,這時把這個英語文件發(fā)給一個俄語國家的用戶,計算機傳輸?shù)氖嵌M制流,即0101之類的數(shù)據(jù),到了俄語用戶這方,需要有它的俄語編碼方1)對于單字節(jié)的符號,字節(jié)的第一位設(shè)為0,后面7位為這個符號的unicode碼。因此對于英語字母,UTF-8編碼和ASCII碼是相同的。2)對于n字節(jié)的符號(n>1),第一個字節(jié)的前n位都設(shè)為1,第n+1位設(shè)為0,后面字節(jié)的前兩位一律設(shè)為10。剩下的沒有提及的二進制位,全部為這個符號的unicode碼。下表總結(jié)了編碼規(guī)則,字母x表示可用編碼的位。Unicode符號范圍|UTF-8編碼方式
(十六進制)|(二進制)
+
00000000-0000007F|0xxxxxxx
00000080-000007FF|110xxxxx10xxxxxx
00000800-0000FFFF|1110xxxx10xxxxxx10xxxxxx
00010000-0010FFFF|11110xxx10xxxxxx10xxxxxx10xxxxxx下面,還是以漢字“嚴”為例,演示如何實現(xiàn)UTF-8編碼。已知“嚴”的unicode是4E25(100111000100101),根據(jù)上表,可以發(fā)現(xiàn)4E25處在第三行的范圍內(nèi)(00000800-0000FFFF),因此“嚴”的UTF-8編碼需要三個字節(jié),即格式是“1110xxxx10xxxxxx10xxxxxx”。然后,從“嚴”的最后一個二進制位開始,依次從后向前填入格式中的x,多出的位補0。這樣就得到了,“嚴”的UTF-8編碼是“111001001011100010100101”,這是保存在計算機中的實際數(shù)據(jù),轉(zhuǎn)換成十六進制就是E4B8A5,轉(zhuǎn)成十六進制的目的為了便于閱讀。6.Unicode與UTF-8之間的轉(zhuǎn)換通過上一節(jié)的例子,可以看到“嚴”的Unicode碼是4E25,UTF-8編碼是E4B8A5,兩者是不一樣的。它們之間的轉(zhuǎn)換可以通過程序?qū)崿F(xiàn)。在Windows平臺下,有一個最簡單的轉(zhuǎn)化方法,就是使用內(nèi)置的記事本小程序Notepad.exe。打開文件后,點擊“文件”菜單中的“另存為”命令,會跳出一個對話框,在最底部有一個“編碼”的下拉條。里面有四個選項:ANSI,Unicode,Unicodebigendian和UTF-8。1)ANSI是默認的編碼方式。對于英文文件是ASCII編碼,對于簡體中文文件是GB2312編碼(只針對Windows簡體中文版,如果是繁體中文版會采用Big5碼2)Unicode編碼指的是UCS-2編碼方式,即直接用兩個字節(jié)存入字符的Unicode碼。這個選項用的littleendian格式。3)Unicodebigendian編碼與上一個選項相對應(yīng)。我在下一節(jié)會解釋littleendian和bigendian的涵義。4)UTF-8編碼,也就是上一節(jié)談到的編碼方法。選擇完”編碼方式“后,點擊”保存“按鈕,文件的編碼方式就立刻轉(zhuǎn)換好了。7.Littleendian和Bigendian上一節(jié)已經(jīng)提到,Unicode碼可以采用UCS-2格式直接存儲。以漢字”嚴“為例,Unicode碼是4E25,需要用兩個字節(jié)存儲,一個字節(jié)是4E,另一個字節(jié)是25。存儲的時候,4E在前,25在后,就是Bigendian方式;25在前,4E在后,就是Littleendian方式。那么很自然的,就會出現(xiàn)一個問題:計算機怎么知道某一個文件到底采用哪一種方式編碼?Unicode規(guī)范中定義,每一個文件的最前面分別加入一個表示編碼順序的字符,這個字符的名字叫做”零寬度非換行空格“(ZEROWIDTHNO-BREAKSPACE),用FEFF表示。這正好是兩個字節(jié),而且FF比FE大1。如果一個文本文件的頭兩個字節(jié)是FEFF,就表示該文件采用大頭方式;如果頭兩個字節(jié)是FFFE,就表示該文件采用小頭方式。8.實例下面,舉一個實例。打開”記事本“程序Notepad.exe,新建一個文本文件,內(nèi)容就是一個”嚴“字,依次采用ANSI,Unicode,Unicodebigendian和UTF-8編碼方式保存。然后,用文本編輯軟件UltraEdit中的”十六進制功能“,觀察該文件的內(nèi)部編碼方式。1)ANSI:文件的編碼就是兩個字節(jié)“D1CF”,這正是“嚴”的GB2312編碼,這也暗示GB2312是采用大頭方式存儲的。2)Unicode:編碼是四個字節(jié)“FFFE254E”,其中“FFFE”表明是小頭方式存儲,真正的編碼是4E25。3)Unicodebigendian:編碼是四個字節(jié)“FEFF4E25”,其中“FEFF”表明是大頭方式存儲。4)UTF-8:編碼是六個字節(jié)“EFBBBFE4B8A5”,前三個字節(jié)“EFBBBF”表示這是UTF-8編碼,后三個“E4B8A5”就是“嚴”推薦這篇文章看一下:/index.php?title=Unicode&variant=zh-cn#.E8.B5.B7.E6.BA.90.E8.88.87.E7.99.BC.E5.B1.959.解決的問題:一、如何在中文系統(tǒng)中運行非Unicode編碼程序?
有很多意大利文版(除英文版)學(xué)習(xí)軟件、百科全書等軟件在中文系統(tǒng)上會出現(xiàn)亂碼,解決方法:
WindowsXP內(nèi)核是Unicode編碼,支持多語種,對于Unicode編碼的應(yīng)用程序會正常顯示原文(因為windows核心是用unicode代碼寫的,所以不存在問題),但是,很多程序不是用Unicode編碼寫的,這時WindowsXP系統(tǒng)可以指定以特定的編碼運行非Unicode編碼程序,中文版WindowsXP默認的是“簡體中文GB2312”。你只需在控制面板--〉區(qū)域和語言選項--〉高級--〉為非Unicode程序的語言選擇“意大利語”,即可正確運行意大利文版的游戲程序。分析:我理解的流程是這樣:程序>意大利語編碼(轉(zhuǎn)換表codepage)>解釋成unicode識別的編碼(通過指定的轉(zhuǎn)換表將非Unicode的字符編碼轉(zhuǎn)換為同一字符對應(yīng)的系統(tǒng)內(nèi)部使用的Unicode編碼)>被系統(tǒng)翻譯成意大利文(因為每個unicode編碼對應(yīng)了相應(yīng)的意大利文字),便可以正常顯示了。二、消除網(wǎng)頁亂碼?網(wǎng)頁亂碼是瀏覽器對HTML網(wǎng)頁解釋時形成的,如果網(wǎng)頁制作時編碼為繁體big5,瀏覽器卻以編碼gb2312顯示該網(wǎng)頁,就會出現(xiàn)亂碼,因此只要你在瀏覽器中也以繁體big5顯示該網(wǎng)頁,就會消除亂碼。打個比方有些像字典,繁體字得用繁體字典來查看,簡體字得用簡體字典來查看,不然你看不懂?!窘鉀Q辦法】:在瀏覽器中選擇“編碼”菜單,事先為瀏覽器安裝多語言支持包(例如在安裝IE時要安裝多語言支持包),這樣當(dāng)瀏覽網(wǎng)頁出現(xiàn)亂碼時,即可手工更改查看此網(wǎng)頁的編碼方式,在瀏覽器中選擇菜單欄下的“查看”/“編碼”/“自動選擇”/簡體中文(GB2312),如為繁體中文則選擇“查看”/“編碼”/“自動選擇”/繁體中文(BIG5),其他語言依此類推,便可消除網(wǎng)頁亂碼現(xiàn)象。分析:因為繁體big5編碼后的文件,每個文字對應(yīng)一個二進制流(假設(shè)是1212對應(yīng)繁這個字),當(dāng)我們以編碼gb2312顯示該網(wǎng)頁時,gb2312編碼會到表里去找1212(二進制流不會變的)對應(yīng)誰,肯定不再是繁這個字了,當(dāng)然顯示的就不再是那個繁字了,也就會出現(xiàn)亂碼了。這樣理解簡單些,其實中間還要轉(zhuǎn)換成同一字符對應(yīng)的系統(tǒng)內(nèi)部使用的Unicode編碼,然后通過系統(tǒng)底層unicode編碼還原成相應(yīng)字符顯示出來。推薦兩個編碼查詢網(wǎng)站:1./code/ascii/
2.http://bm.kdd.cc/ASCII非打印控制字符
ASCII表上的數(shù)字0–31分配給了控制字符,用于控制像打印機等一些外圍設(shè)備。例如,12代表換頁/新頁功能。此命令指示打印機跳到下一頁的開頭。
ASCII非打印控制字符表
十進制十六進制字符十進制十六進制字符
000空1610數(shù)據(jù)鏈路轉(zhuǎn)意
101頭標(biāo)開始1711設(shè)備控制1
202正文開始1812設(shè)備控制2
303正文結(jié)束1913設(shè)備控制3
404傳輸結(jié)束2014設(shè)備控制4
505查詢2115反確認
606確認2216同步空閑
707震鈴2317傳輸塊結(jié)束
808backspace2418取消
909水平制表符2519媒體結(jié)束
100A換行/新行261A替換
110B豎直制表符271B轉(zhuǎn)意
120C換頁/新頁281C文件分隔符
130D回車291D組分隔符
140E移出301E記錄分隔符
150F移入311F單元分隔符
ASCII打印字符
數(shù)字32–126分配給了能在鍵盤上找到的字符,當(dāng)您查看或打印文檔時就會出現(xiàn)。數(shù)字127代表DELETE命令。
ASCII打印字符表
十進制十六進制字符十進制十六進制字符
3220space8050P
3321!8151Q
3422"8252R
3523#8353S
3624$8454T
3725%8555U
3826&8656V
3927'8757w
4028(8858X
4129)8959Y
422A*905AZ
432B+915B[
442C,925C\
452D-935D]
462E.945E^
472F/955F_
483009660`
493119761a
503229862b
513339963c
5234410064d
5335510165e
5436610266f
5537710367g
5638810468h
5739910569i
583A:1066Aj
593B;1076Bk
603C<1086Cl
613D=1096Dm
623E>1106En
633F?1116Fo
6440@11270p
6541A11371q
6642B11472r
6743C11573s
6844D11674t
6945E11775u
7046F11876v
7147G11977w
7248H12078x
7349I12179y
744AJ1227Az
754BK1237B{
764CL1247C|
774DM1257D}
784EN1267E~
794FO1277FDEL
擴展ASCII打印字符
擴展的ASCII字符滿足了對更多字符的需求。擴展的ASCII包含ASCII中已有的128個字符(數(shù)字0–32顯示在下圖中),又增加了128個字符,總共是256個。即使有了這些更多的字符,許多語言還是包含無法壓縮到256個字符中的符號。因此,出現(xiàn)了一些ASCII的變體來囊括地區(qū)性字符和符號。
例如,許多軟件程序把ASCII表(又稱作ISO8859-1)用于北美、西歐、澳大利亞和非洲的語言。
擴展的ASCII打印字符表
十進制十六進制字符十進制十六進制字符
12880?192C0└
12981ü193C1┴
13082é194C2┬
13183a195C3├
13284?196C4─
13385à197C5┼
13486?198C6╞
13587?199C7╟
13688ê200C8╚
13789?201C9╔
1388Aè202CA╩
1398B?203CB╦
1408C?204CC╠
1418Dì205CD═
1428E?206CE╬
1438F?207CF╧
14490é208D0╨
14591?209D1╤
14692?210D2╥
14793?211D3╙
14894?212D4?
14995ò213D5╒
15096?214D6╓
15197ù215D7╫
15298?216D8╪
15399?217D9┘
1549Aü21
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 腎病綜合征患者的護理課件
- 康復(fù)輔具在康復(fù)醫(yī)學(xué)領(lǐng)域國際合作與交流的拓展考核試卷
- 干部休養(yǎng)所安全風(fēng)險防控與應(yīng)急預(yù)案考核試卷
- 樂器行業(yè)品牌維權(quán)與侵權(quán)案例分析考核試卷
- 景區(qū)旅游突發(fā)事件應(yīng)急預(yù)案考核試卷
- 有機化學(xué)原料的環(huán)保合成方法優(yōu)化研究進展分析預(yù)測考核試卷
- 機器人服務(wù)創(chuàng)新模式與實踐案例考核試卷
- 景區(qū)旅游信息化平臺運營與管理考核試卷
- 制作氣球培訓(xùn)課件
- 家電公司轉(zhuǎn)讓合同范本
- 施工圖紙接收及分發(fā)臺賬
- 物流系統(tǒng)建模與仿真課件
- 小粒咖啡栽培技術(shù)措施課件
- 運輸企業(yè)消防應(yīng)急救援預(yù)案
- 高邊坡掛網(wǎng)錨噴支護專項施工方案
- 10KV系統(tǒng)短路電流整定計算表格
- 初中英語 滬教牛津版 8B U1-4 More Practice Success for Spring Buds 課件
- 壓水堆核電廠在役檢查課件
- 前房角鏡檢查法及其在眼科的應(yīng)用教學(xué)課件
- 2017年度項目生產(chǎn)部工作計劃推進表甘特圖
- 地下室車庫綜合管線施工布置
評論
0/150
提交評論