小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

計(jì)算機(jī)編碼基礎(chǔ)知識(shí)

 寶輪散人 2014-12-25

計(jì)算機(jī)編碼基礎(chǔ)知識(shí)  

2013-07-04 09:20:16|  分類: 編碼解碼 |  標(biāo)簽:計(jì)算機(jī)  編碼  基礎(chǔ)  知識(shí)  教程   |舉報(bào) |字號(hào) 訂閱

一、有關(guān)編碼的基礎(chǔ)知識(shí)
1、位            bit           最小的單元
     字節(jié)         byte        機(jī)器語(yǔ)言的單位
     1byte=8bits            1KB=1024byte
     1MB=1024KB         1GB=1024MB 
2、二進(jìn)制   binary        八進(jìn)制      octal 
     十進(jìn)制   decimal     十六進(jìn)制   hex 
3、字符:       是各種文字和符號(hào)的總稱,包括各個(gè)國(guó)家的文字,標(biāo)點(diǎn)符號(hào),圖形符號(hào),數(shù)字等。
     字符集:    字符集是多個(gè)符號(hào)的集合,每個(gè)字符集包含的字符個(gè)數(shù)不同。
     字符編碼:字符集只是規(guī)定了有哪些字符,而最終決定采用哪些字符,每一個(gè)字符用多少字節(jié)表示等問題,
                      則是由編碼來(lái)決定的。計(jì)算機(jī)要準(zhǔn)確的處理各種字符集文字,需要進(jìn)行字符編碼,以便計(jì)算機(jī)
                      能夠識(shí)別和存儲(chǔ)各種文字。

二、常見字符集的編碼介紹 
     常見的字符集有:ASCII字符集,GB2312字符集,BIG5字符集,GB18030字符集,Unicode字符集,下面
     一一介紹:
1、ASCII字符集:
 ▲定義:
    美國(guó)信息互換標(biāo)準(zhǔn)代碼,是基于羅馬字母表的一套電腦編碼系統(tǒng),主要顯示英語(yǔ)和一些西歐語(yǔ)言,是現(xiàn)今
    最通用的單字節(jié)編碼系統(tǒng)。
 ▲包含內(nèi)容:
    控制字符(回車鍵,退格,換行鍵等)
    可顯示字符(英文大小寫,阿拉伯?dāng)?shù)字,西文符號(hào))
    擴(kuò)展字符集(表格符號(hào),計(jì)算符號(hào),希臘字母,拉丁符號(hào))
 ▲編碼方式:
    第0-31號(hào)及127號(hào)是控制字符或通訊專用字符;
    第32-126號(hào)是字符,其中48-57號(hào)為0-9十個(gè)阿拉伯?dāng)?shù)字,65-90號(hào)為26個(gè)大寫英文字母,97-122號(hào)為26個(gè)英文
    小寫字母,其余為一些標(biāo)點(diǎn)符號(hào),運(yùn)算符號(hào)等。
    在計(jì)算機(jī)存儲(chǔ)單元中,一個(gè)ASCII碼值占一個(gè)字節(jié)(8個(gè)二進(jìn)制位),最高位是用作奇偶檢驗(yàn)位。【奇偶校驗(yàn)
    是指:在代碼傳送的過程中,用來(lái)檢驗(yàn)是否出錯(cuò)的一種方法。】奇偶校驗(yàn)分為奇校驗(yàn)和偶校驗(yàn)。奇校驗(yàn)規(guī)定:
    正確的代碼一個(gè)字節(jié)中1的個(gè)數(shù)必須是奇數(shù),若非奇數(shù),則在最高位添1;偶校驗(yàn)規(guī)定:正確的代碼一個(gè)字節(jié)
    中1的個(gè)數(shù)必須是奇數(shù),若非奇數(shù),則在最高位添1。
2、GB2312字符集:
 ▲定義:
    信息交換用漢字編碼字符集。是中國(guó)國(guó)家標(biāo)準(zhǔn)的簡(jiǎn)體中文字符集,它所收錄的漢字已經(jīng)覆蓋99.75%的使用頻
    率,在中國(guó)大陸和新加坡廣泛使用。
 ▲包含內(nèi)容:
    GB2312收錄了簡(jiǎn)化漢字及一般字符,序號(hào),數(shù)字,拉丁字母,日文假名,希臘字母,俄文字母,漢語(yǔ)拼音符
    號(hào),漢語(yǔ)注音字母,共7445個(gè)圖形字符。其中包括6763個(gè)漢字,一級(jí)漢字3755個(gè),二級(jí)漢字3008個(gè)。
 ▲編碼方式:
    GB2312對(duì)所收漢字進(jìn)行了“分區(qū)”處理,每區(qū)含有94個(gè)漢字或者符號(hào),這種表示方法也叫做“區(qū)位碼”。它
    是用雙字節(jié)表示的,前面的字節(jié)為第一字節(jié),又稱“高字節(jié)”,后面的字節(jié),“低字節(jié)”。高位字節(jié),把01-
    87區(qū)的區(qū)號(hào)加上0xA0(相當(dāng)于數(shù)字160);低位字節(jié)把為第二01-94區(qū)的區(qū)號(hào)加上0xA0(相當(dāng)于數(shù)字160)。
    舉個(gè)簡(jiǎn)單的小例子:第一個(gè)漢字——“啊”,它的區(qū)號(hào)為16,位號(hào)01,則區(qū)位碼是1601。則高字節(jié)位:16+0
    xA0=0xB0;低字節(jié)位:01+0xA0=0xA1,所以“啊”的漢字處理編碼為0xB0A1。
3、GBK字符集:
 ▲定義:
    GBK是GB2312字符集的擴(kuò)展(K),它收錄了21886個(gè)符號(hào),它分為漢字區(qū)和圖形符號(hào)區(qū),漢字區(qū)包括21003
    個(gè)字符。GBK字符集主要擴(kuò)展了繁體中文的支持。
4、BIG5字符集:
 ▲定義:
    又稱大五碼,由臺(tái)灣五家軟件公司創(chuàng)立。因?yàn)楫?dāng)時(shí)臺(tái)灣沒有一個(gè)標(biāo)準(zhǔn)的字符集,而且GB2312又沒有收錄繁體
    字,所以才推出了BIG5。
 ▲包含內(nèi)容:
    BIG5字符集共收錄了13053個(gè)中文字,該字符集在臺(tái)灣使用。但是沒有考慮到社會(huì)上流通的人名,地方用字,
    方言用字,化學(xué)及生物科等用字,沒有包含日文平假名及片假字母。
 ▲編碼方式:
     BIG5也采用雙字節(jié)存儲(chǔ)方法,一兩個(gè)字節(jié)編碼一個(gè)字。高位字節(jié)的編碼范圍是0xA1-0xF9,低位字節(jié)的編碼范
     圍是0xA1-0xFE。 
5、GB18030字符集:
 ▲定義:
    GB18030字符集標(biāo)準(zhǔn)解決漢字,日文假名,朝鮮語(yǔ)和中國(guó)少數(shù)民族文字組成的大字符集計(jì)算機(jī)編碼問題。
 ▲包含內(nèi)容:
    該標(biāo)準(zhǔn)的字符總編碼空間超過150萬(wàn)個(gè)編碼位,收錄了27484個(gè)漢字,覆蓋中文,日文,朝鮮語(yǔ)和中國(guó)少數(shù)民
    族文字。滿足中國(guó)大陸,香港,臺(tái)灣,日本和韓國(guó)等東南亞地區(qū)信息交換多文種,大字量,多用途,統(tǒng)一編
    碼格式的要求。
 ▲編碼方式:
    GB8030標(biāo)準(zhǔn)采用單字節(jié),雙字節(jié)和四字節(jié)三種方式對(duì)字符編碼。單字節(jié)部分使用0x00-0x7F碼(對(duì)應(yīng)于ASCII
     碼的相應(yīng)碼);雙字節(jié)部分,首字節(jié)碼從0x81-0xFE,尾字節(jié)碼分別是0x40-0x7E和0x80-0xFE。四字節(jié)部分采
     用0x30-0x39作為雙字節(jié)編碼擴(kuò)充的后綴,這樣擴(kuò)充的四字節(jié)編碼,其范圍是0x81308130-0x0xFE39FE39,其
     中第一,三個(gè)字節(jié)編碼位均為0x81-0xFE,第二,四個(gè)為0x30-0x39。
6、Unicode字符集:
 ▲定義:
     University multiple-object coded character set(通用多八位編碼字符集),支持世界上超過650種語(yǔ)言的國(guó)際字
     符。Unicode允許在同一服務(wù)器上混合使用不同語(yǔ)言,它為每種語(yǔ)言的每個(gè)字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編
     碼,以滿足跨平臺(tái),跨語(yǔ)言進(jìn)行文本轉(zhuǎn)換,處理的要求。
 ▲編碼方式:
    Unicode標(biāo)準(zhǔn)始終使用十六進(jìn)制數(shù)字,固定使用2個(gè)字節(jié)來(lái)表示一個(gè)字符,共可以表示65536個(gè)字符。而且書寫時(shí)
    在前面加上前綴“U+”,例如A的編碼是004116,則書寫成“U+0041”。
 ▲Unicode字符集包含的編碼方案:
    △UTF-8:
       UTF8是unicode其中的一個(gè)使用方式。UTF的意思是:unicode translation format,即把unicode轉(zhuǎn)作某種格式
       的意思。
       UTF-8使用可變長(zhǎng)度字節(jié)來(lái)存儲(chǔ)unicode字符,如ASCII字母還是采用一個(gè)字符來(lái)存儲(chǔ),希臘字母等采用2個(gè)字
       符來(lái)存儲(chǔ),而常用的漢字要使用3字節(jié),輔助平面字符則使用4字節(jié)。
   △UTF-16:
       使用一個(gè)或兩個(gè)未分配的16位代碼單元的序列對(duì)unicode代碼點(diǎn)進(jìn)行編碼,即2個(gè)字節(jié)表示一個(gè)字符。
   △UTF-32:
       將每一個(gè)unicode代碼點(diǎn)表示為相同值的32位整數(shù)。
   △關(guān)于unicode編碼的一個(gè)問題:
      使用記事本另存為時(shí),可以在ANSI,GBK,Unicode,unicode big endian和UTF-8這幾種編碼之間相互轉(zhuǎn)換。同
      樣是txt文件,windows是怎么識(shí)別編碼的呢?
      答:平時(shí)注意的話可以發(fā)現(xiàn)Unicode,unicode big endian和UTF-8編碼的txt文件的開頭會(huì)多出幾個(gè)字節(jié),分別是
            (FF,FE),(FE,FF),(EF,BB,BF)。那么這些標(biāo)記都是基于什么標(biāo)準(zhǔn)呢?ANSI字符集:ASCII字符集,以
            及由此派生并兼容的字符集。UTF-16與UTF-8:如“連通”兩個(gè)字,在UTF-16中為:DE 8F 1A 90,兩個(gè)字
            節(jié)決定一個(gè)漢字;在UTF-8中則為:E8 BF 9E E9 80 9A,即3個(gè)字節(jié)決定一個(gè)字符。當(dāng)一個(gè)軟件打開一個(gè)文
            本時(shí),首先是要決定這個(gè)文本究竟是使用哪種字符集的哪種編碼保存的,軟件一般采用三種方式來(lái)決定文本
             的字符集和編碼:檢測(cè)文件頭標(biāo)識(shí),提示用戶選擇,根據(jù)一定的規(guī)則猜測(cè)。不同編碼方式的開頭字節(jié)如下:
             EF BB BF     UTF-8 
             FF FE           UTF-16,little endian
             FE FF           UTF-16,big endian
             FF FE 00 00  UTF-32,little endian 
             00 00 FE FF  UTF-32,big endian 
             注:endian是指字節(jié)序,big endian(大尾)和little endian(小尾)是CPU處理多字節(jié)數(shù)的不同方式。
          例如“漢”的unicode編碼是6C49,寫到文件中,如果將6C寫在前面就是big endian,將49寫在前面就
          是little endian。
7、總結(jié):
     從ASCII,GB2312,GBK到GB18030,這些編碼方法是向下兼容的,即同一個(gè)字符在這些方案中總是有相同的
     編碼,后面的標(biāo)準(zhǔn)支持更多的字符。在這些編碼中,英文和中文可以統(tǒng)一的處理。區(qū)分中文編碼的方法是高字
     節(jié)的最高位不為0。
     計(jì)算機(jī)使用的缺省編碼方式就是計(jì)算機(jī)的內(nèi)碼。有的中文windows的缺省內(nèi)碼還是GBK,可以通過GB18030升級(jí)
     包升級(jí)到GB1030。不過相對(duì)GBK新增的字符,普通人很難用到的,通常我們用GBK來(lái)指代中文windows內(nèi)碼。
     GB2312的原文是區(qū)位碼,從區(qū)位碼到內(nèi)碼,需要在高字節(jié)和低字節(jié)上分別加上A0。
來(lái)源:百度文庫(kù)

相關(guān)資料:
字符編碼     中文編碼基礎(chǔ)知識(shí)介紹   常用字符集編碼詳解 
漢字編碼 Unicode、GB(gb2312)、GBK、BIG5、UTF-8  
ASCII GB2312 GBK GB18030 unicode UTF8字符集編碼詳解 
UTF-8 GBK UTF8 GB2312 之間的區(qū)別和關(guān)系
計(jì)算機(jī)常用編碼及轉(zhuǎn)換方法介紹     常用字符編碼轉(zhuǎn)換   常見編碼的轉(zhuǎn)換算法
Uni gbk 區(qū)位碼對(duì)照表   GB Uni utf8對(duì)照表    RC GB Uni UTF8對(duì)照表 

 

返回目錄

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多