計算機編碼介紹_第1頁
計算機編碼介紹_第2頁
計算機編碼介紹_第3頁
計算機編碼介紹_第4頁
計算機編碼介紹_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

幾種常用編碼的介紹一、base64編碼二、QuotedPrintable編碼內(nèi)容三、UTF8編碼四、GB2312編碼Base64是一種傳輸編碼;是為了適應將任何計算機數(shù)據(jù)都表示成便于顯示和排版的字符串;Base64中的64個字符是:“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/0123456789”Base64編碼-介紹2的6次方等于64。因為base64只有64個可用字符,所以它編碼后的每個字節(jié)只能表示6個bit的信息內(nèi)容;我們待編碼的內(nèi)容是8個bit的,所以就造成了編碼以后的數(shù)據(jù)比原來的數(shù)據(jù)要長;6和8的最小公倍數(shù)是24,故base64的最小編碼單元是24bit,四個字符。Base64編碼-介紹Base64編碼-舉例例如我們要對字符串“123”編碼:“123”對應的16進制數(shù)為:0x310x320x33;表示成二進制數(shù)表示如下:001100010011001000110011;將二進制數(shù)每6位分成一組表示如下:001100010011001000110011;每6位分段后得到的四個數(shù)字分別是:1219851在base64編碼表中查表對應的字符:MT

I

z所以字符串”123”編碼后是“MTIz”Base64編碼-特例例如我們要對字符串“12312”編碼:“123”對應的16進制數(shù)為:0x310x320x330x310x32;表示成二進制數(shù)表示如下:0011000100110010001100110011000100110010;將二進制數(shù)每6位分成一組表示如下:001100010011001000110011001100010011001000;注意:因為原始字符串不是3的倍數(shù),分出來后最后一組缺兩位,需要補零。每6位分段后得到的七個數(shù)字分別是:121985112198在base64編碼表中查表對應的字符:MT

I

zMTI不夠一個6位分組單元的補0,不夠一個編碼單元(4個字節(jié))的補“=”號,編碼后的字符串是”MTIzMTI=“Base64編碼-其他base64編碼后的數(shù)據(jù)只能出現(xiàn)base64里面的64個字符、用于補齊的‘=’號和回車換行符?;剀嚀Q行必須出現(xiàn)在4的整數(shù)倍個字符后,‘=’只能出現(xiàn)在每4個字符單元的最后一個或最后兩個。舉例:EFH/ABC=HIaCAB==ABCDA+/=ABC=ABCA===,A=BC,AB=CQuotedprintable編碼Outlook翻譯為:“括上的可打印項目”這個編碼非常簡單,但是數(shù)據(jù)冗余量非常大。例如將“123”進行編碼:“123”對應的16進制數(shù)分別是0x310x320x33編碼后的字符串為”=31=32=33”編碼后數(shù)據(jù)的長度是編碼前數(shù)據(jù)長度的3倍,是一種非常簡單但很不經(jīng)濟的一種編碼方法。UTF-8編碼-背景UTF-8意思是UniversalTransformationFormat通用轉換格式;UTF-8用1-6個字節(jié)編碼Unicode字符,用在網(wǎng)頁上可以同一個頁面顯示中文簡體、繁體及其他語言,稱為萬國碼。ASCII字符集1-128大小寫英語字符、數(shù)字、標點、換行制表控制等;ASCII擴展字符集128-255一些歐洲文字,拉丁字母Unicode字符集:所有字符用兩個字節(jié)表示,高字節(jié)為零的表示ASCII字符集內(nèi)容,高字節(jié)不是零的代表了其他語言里的字符,如漢語、日語、韓語、越南語等。UTF-8編碼-產(chǎn)生原因因為Unicode表示ASCII字符時不經(jīng)濟:一個字符用兩個字節(jié)表示,且主機間傳輸時存在字節(jié)序的問題:x86平臺和ppc平臺不一樣,0xAABB怎么解析需要約定。所以出現(xiàn)了一種中間格式的字符集,稱為通用轉換格式,有UTF-7、-7.5、-8、-16、-32等。UTF-8編碼-轉換方法128以內(nèi):Unicode=UTF-8;128-2047:00000xxxxxxxxxx->110xxxxx10xxxxxx2048-65535:

xxxxxxxx

xxxxxxxx->1110xxxx10xxxxxx10xxxxxx65536-2097151:

000xxxxxxxxxxxxx

xxxxxxxx->11110xxx10xxxxxx10xxxxxx

10xxxxxx2097152-67108863:

000000xxxxxxxxxx

xxxxxxxx

xxxxxxx->111110xx10xxxxxx10xxxxxx

10xxxxxx

10xxxxxx67108863-2147483647:

0xxxxxxxxxxxxxxx

xxxxxxxx

xxxxxxxx->1111110x10xxxxxx10xxxxxx

10xxxxxx

10xxxxxx

10xxxxxxUTF-8編碼-優(yōu)缺點優(yōu)點:(1)轉換方便,只需位運算;(2)ASCII字符集不用轉換,不增加存儲空間;(3)沒有字節(jié)序的問題;(4)編碼中不會出現(xiàn)0xFF和0xFE,因此這兩個字符可以用來表用UTF-16或UTF-18文本;缺點:(1)變長,無法從Unicode字符長度判斷轉為UTF-8后的字符長度;(2)拉丁字符時Unicode的子集不是utf-8的子集,需要轉換;(3)大部分兩個字節(jié)的Unicode字符被擴展成3個字節(jié);(中文用UTF-8編碼后絕大多數(shù)情況下會變長)GB2312編碼GB2312編碼和UTF8編碼不是并列的關系;GB2312收錄了6763個漢字和682個非漢字圖形字符;整個字符集分94個區(qū),每區(qū)94個區(qū)位,每區(qū)位表示一個字符;1-9區(qū)為特殊符號,16-55區(qū)按拼音排序為一級漢字,56-97區(qū)按部首筆畫排序為二級漢字;用區(qū)位表示的碼叫區(qū)位碼:例如“啊”位于第16區(qū)第一區(qū)位,區(qū)位碼=0x1001;區(qū)位碼加上

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論