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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

I

z所以字符串”123”編碼后是“MTIz”Base64編碼-特例例如我們要對(duì)字符串“12312”編碼:“123”對(duì)應(yīng)的16進(jìn)制數(shù)為:0x310x320x330x310x32;表示成二進(jìn)制數(shù)表示如下:0011000100110010001100110011000100110010;將二進(jìn)制數(shù)每6位分成一組表示如下:001100010011001000110011001100010011001000;注意:因?yàn)樵甲址皇?的倍數(shù),分出來(lái)后最后一組缺兩位,需要補(bǔ)零。每6位分段后得到的七個(gè)數(shù)字分別是:121985112198在base64編碼表中查表對(duì)應(yīng)的字符:MT

I

zMTI不夠一個(gè)6位分組單元的補(bǔ)0,不夠一個(gè)編碼單元(4個(gè)字節(jié))的補(bǔ)“=”號(hào),編碼后的字符串是”MTIzMTI=“Base64編碼-其他base64編碼后的數(shù)據(jù)只能出現(xiàn)base64里面的64個(gè)字符、用于補(bǔ)齊的‘=’號(hào)和回車換行符?;剀嚀Q行必須出現(xiàn)在4的整數(shù)倍個(gè)字符后,‘=’只能出現(xiàn)在每4個(gè)字符單元的最后一個(gè)或最后兩個(gè)。舉例:EFH/ABC=HIaCAB==ABCDA+/=ABC=ABCA===,A=BC,AB=CQuotedprintable編碼Outlook翻譯為:“括上的可打印項(xiàng)目”這個(gè)編碼非常簡(jiǎn)單,但是數(shù)據(jù)冗余量非常大。例如將“123”進(jìn)行編碼:“123”對(duì)應(yīng)的16進(jìn)制數(shù)分別是0x310x320x33編碼后的字符串為”=31=32=33”編碼后數(shù)據(jù)的長(zhǎng)度是編碼前數(shù)據(jù)長(zhǎng)度的3倍,是一種非常簡(jiǎn)單但很不經(jīng)濟(jì)的一種編碼方法。UTF-8編碼-背景UTF-8意思是UniversalTransformationFormat通用轉(zhuǎn)換格式;UTF-8用1-6個(gè)字節(jié)編碼Unicode字符,用在網(wǎng)頁(yè)上可以同一個(gè)頁(yè)面顯示中文簡(jiǎn)體、繁體及其他語(yǔ)言,稱為萬(wàn)國(guó)碼。ASCII字符集1-128大小寫(xiě)英語(yǔ)字符、數(shù)字、標(biāo)點(diǎn)、換行制表控制等;ASCII擴(kuò)展字符集128-255一些歐洲文字,拉丁字母Unicode字符集:所有字符用兩個(gè)字節(jié)表示,高字節(jié)為零的表示ASCII字符集內(nèi)容,高字節(jié)不是零的代表了其他語(yǔ)言里的字符,如漢語(yǔ)、日語(yǔ)、韓語(yǔ)、越南語(yǔ)等。UTF-8編碼-產(chǎn)生原因因?yàn)閁nicode表示ASCII字符時(shí)不經(jīng)濟(jì):一個(gè)字符用兩個(gè)字節(jié)表示,且主機(jī)間傳輸時(shí)存在字節(jié)序的問(wèn)題:x86平臺(tái)和ppc平臺(tái)不一樣,0xAABB怎么解析需要約定。所以出現(xiàn)了一種中間格式的字符集,稱為通用轉(zhuǎn)換格式,有UTF-7、-7.5、-8、-16、-32等。UTF-8編碼-轉(zhuǎn)換方法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)缺點(diǎn)優(yōu)點(diǎn):(1)轉(zhuǎn)換方便,只需位運(yùn)算;(2)ASCII字符集不用轉(zhuǎn)換,不增加存儲(chǔ)空間;(3)沒(méi)有字節(jié)序的問(wèn)題;(4)編碼中不會(huì)出現(xiàn)0xFF和0xFE,因此這兩個(gè)字符可以用來(lái)表用UTF-16或UTF-18文本;缺點(diǎn):(1)變長(zhǎng),無(wú)法從Unicode字符長(zhǎng)度判斷轉(zhuǎn)為UTF-8后的字符長(zhǎng)度;(2)拉丁字符時(shí)Unicode的子集不是utf-8的子集,需要轉(zhuǎn)換;(3)大部分兩個(gè)字節(jié)的Unicode字符被擴(kuò)展成3個(gè)字節(jié);(中文用UTF-8編碼后絕大多數(shù)情況下會(huì)變長(zhǎng))GB2312編碼GB2312編碼和UTF8編碼不是并列的關(guān)系;GB2312收錄了6763個(gè)漢字和682個(gè)非漢字圖形字符;整個(gè)字符集分94個(gè)區(qū),每區(qū)94個(gè)區(qū)位,每區(qū)位表示一個(gè)字符;1-9區(qū)為特殊符號(hào),16-55區(qū)按拼音排序?yàn)橐患?jí)漢字,56-97區(qū)按部首筆畫(huà)排序?yàn)槎?jí)漢字;用區(qū)位表示的碼叫區(qū)位碼:例如“啊”位于第16區(qū)第一區(qū)位,區(qū)位碼=0x1001;區(qū)位碼加上

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論