• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            ASCII字符集編碼

            ASCII碼是7位編碼,字符在計(jì)算機(jī)中以其ASCII碼方式表示,其長(zhǎng)度為1個(gè)字節(jié), 有符號(hào)字符型數(shù)。編碼范圍是0x00-0x7F(0~127)。ASCII字符集包括英文字母、阿拉伯?dāng)?shù)字和標(biāo)點(diǎn)符號(hào)等字符。其中0x00-0x20和0x7F共33個(gè)控制字符。

            ASCII 十六進(jìn)制 控制字 代碼含義
            00           00            NUL      空
            01           01            SOH      標(biāo)題開(kāi)始
            02           02            STX      正文開(kāi)始
            03           03            ETX      正文結(jié)束
            04           04            EOT         傳輸結(jié)否
            05           05            ENQ        詢問(wèn)
            06           06            ACK        確認(rèn)
            07           07            BEL         響鈴
            08           08            BS          退格
            09           09            HT          橫向列表
            10           0A            LF          換行
            11           0B             VT          縱向列表
            12           0C            FF             換頁(yè)
            13           0D            CR            回車
            14           0E            SO             換檔(Shift-Out)
            15           0F            SI             換檔(Shift-In)
            16           10            DLE         數(shù)據(jù)鏈擴(kuò)展
            17           11            DC1         設(shè)備控制1
            18           12            DC2         設(shè)備控制2
            19           13            DC3         設(shè)備控制3
            20            14            DC4         設(shè)備控制4
            21           15            NAK         不確認(rèn)
            22           16            SYN         同步字符
            23           17            ETB         傳輸塊結(jié)否
            24           18            CAN         作廢
            25           19            EM          介質(zhì)結(jié)束
            26           1A            SUB         置換
            27           1B            ESC         擴(kuò)展
            28           1C            FS             文件分隔符
            29           1D            GS          組分隔符
            30           1E            RS          記錄分隔符
            31           1F            US          單位分隔符

            ASCII碼對(duì)照表

            ASCII碼 鍵盤(pán) ASCII 碼 鍵盤(pán) ASCII 碼 鍵盤(pán) ASCII 碼 鍵盤(pán)
            27 ESC 32 SPACE 33 ! 34 "
            35 # 36 $ 37 % 38 &
            39 ' 40 ( 41 ) 42 *
            43 + 44 ' 45 - 46 .
            47 / 48 0 49 1 50 2
            51 3 52 4 53 5 54 6
            55 7 56 8 57 9 58 :
            59 ; 60 < 61 = 62 >
            63 ? 64 @ 65 A 66 B
            67 C 68 D 69 E 70 F
            71 G 72 H 73 I 74 J
            75 K 76 L 77 M 78 N
            79 O 80 P 81 Q 82 R
            83 S 84 T 85 U 86 V
            87 W 88 X 89 Y 90 Z
            91 [ 92 \ 93 ] 94 ^
            95 _ 96 ` 97 a 98 b
            99 c 100 d 101 e 102 f
            103 g 104 h 105 i 106 j
            107 k 108 l 109 m 110 n
            111 o 112 p 113 q 114 r
            115 s 116 t 117 u 118 v
            119 w 120 x 121 y 122 z
            123 { 124 | 125 } 126 ~

            只支持ASCII碼的系統(tǒng)會(huì)忽略每個(gè)字節(jié)的最高位,只認(rèn)為低7位是有效位。HZ字符編碼就是早期為了在只支持7位ASCII系統(tǒng)中傳輸中文而設(shè)計(jì)的編碼。早期很多郵件系統(tǒng)也只支持ASCII編碼,為了傳輸中文郵件必須使用BASE64或者其他編碼方式。


            GB2312字符集編碼


            GB2312 是漢字字符集和編碼的代號(hào),中文全稱為“信息交換用漢字編碼字符集”,由中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)總局發(fā)布,一九八一年五月一日實(shí)施。GB 是“國(guó)標(biāo)” 二字的漢語(yǔ)拼音縮寫(xiě)。

            GB2312 字符集 (character set) 只收錄簡(jiǎn)化字漢字,以及一般常用字母和符號(hào),主要通行于中國(guó)大陸地區(qū)和新加坡等地。GB2312 共收錄有 7445 個(gè)字符,其中簡(jiǎn)化漢字 6763 個(gè),字母和符號(hào) 682 個(gè)。

            GB2312 將所收錄的字符分為 94 個(gè)區(qū),編號(hào)為 01 區(qū)至 94 區(qū);每個(gè)區(qū)收錄 94 個(gè)字符,編號(hào)為 01 位至 94 位。GB2312 的每一個(gè)字符都由與其唯一對(duì)應(yīng)的區(qū)號(hào)和位號(hào)所確定。例如:漢字“啊”,編號(hào)為 16 區(qū) 01 位。

            GB2312 字符集的區(qū)位分布表:

            區(qū)號(hào)    字?jǐn)?shù)    字符類別
            01      94    一般符號(hào)
            02      72    順序號(hào)碼
            03      94    拉丁字母
            04      83    日文假名
            05      86    Katakana
            06      48    希臘字母
            07      66    俄文字母
            08      63    漢語(yǔ)拼音符號(hào)
            09      76    圖形符號(hào)
            10-15            備用區(qū)
            16-55    3755    一級(jí)漢字,以拼音為序
            56-87    3008    二級(jí)漢字,以筆劃為序
            88-94            備用區(qū)

            這本手冊(cè)列出了 GB2312 的全部字符和它們的區(qū)位號(hào)。

            GB2312 編碼

            GB2312 原始編碼 (encoding) 是對(duì)所收錄的每個(gè)字符都用兩個(gè)字節(jié) (byte) 表示。第一字節(jié)為“高字節(jié)”,由字符的區(qū)號(hào)值加上 32 而形成;第二字節(jié)為“低字節(jié)”,由字符的位號(hào)值加上 32 而形成。例如:漢字“啊”,編號(hào)為 16 區(qū) 01 位。它的高字節(jié)為 16 + 32 = 48 (0x30),低字節(jié)為 01 + 32 = 33 (0x21),合并而成的編碼為 0x3021。

            在區(qū)位號(hào)值上加 32 的原因大慨是為了避開(kāi)低值字節(jié)區(qū)間。

            由于 GB2312 原始編碼與 ASCII 編碼的字節(jié)有重疊,現(xiàn)在通行的 GB2312 編碼是在原始編碼的兩個(gè)字節(jié)上各加 128 修改而形成。例如:漢字“啊”,編號(hào)為 16 區(qū) 01 位。它的原始編碼為 0x3021,通行編碼為 0xB0A1。

            如果不另加說(shuō)明,GB2312 常指這種修改過(guò)的編碼。

            GB2312的編碼范圍是0xA1A1-0x7E7E,去掉未定義的區(qū)域之后可以理解為實(shí)際編碼范圍是0xA1A1-0xF7FE。

            上面這句有誤,應(yīng)該說(shuō)GB2312的每一個(gè)漢字由兩個(gè)字節(jié)構(gòu)成,其中每一個(gè)字節(jié)的范圍都在0xA1 ~0xFE,正好每一個(gè)字節(jié)都有94個(gè)編碼范圍,與區(qū)位碼個(gè)數(shù)完全對(duì)應(yīng)。

            EUC-CN可以理解為GB2312的別名,和GB2312完全相同。

            區(qū)位碼更應(yīng)該認(rèn)為是字符集的定義,定義了所收錄的字符和字符位置,而GB2312及EUC-CN是實(shí)際計(jì)算機(jī)環(huán)境中支持這種字符集的編碼。HZ和 ISO-2022-CN是對(duì)應(yīng)區(qū)位碼字符集的另外兩種編碼,都是用7位編碼空間來(lái)支持漢字。區(qū)位碼和GB2312編碼的關(guān)系有點(diǎn)像 Unicode和UTF-8。

            GBK字符集編碼

            GBK 編碼是GB2312編碼的超集,向下完全兼容GB2312,同時(shí)GBK收錄了Unicode基本多文種平面中的所有CJK漢字。同 GB2312一樣,GBK也支持希臘字母、日文假名字母、俄語(yǔ)字母等字符,但不支持韓語(yǔ)中的表音字符(非漢字字符)。GBK還收錄了GB2312不包含的 漢字部首符號(hào)、豎排標(biāo)點(diǎn)符號(hào)等字符。

            GBK的整體編碼范圍是為高字節(jié)范圍是0×81-0xFE,低字節(jié)范圍是0x40-7E和0x80-0xFE,不包括低字節(jié)是0×7F的組合。

            低字節(jié)是0x40-0x7E的GBK字符有一定特殊性,因?yàn)檫@些字符占用了ASCII碼的位置,這樣會(huì)給一些系統(tǒng)帶來(lái)麻煩。

            有些系統(tǒng)中用0x40-0x7E中的字符(如“|”)做特殊符號(hào),在定位這些符號(hào)時(shí)又沒(méi)有判斷這些符號(hào)是不是屬于某個(gè) GBK字符的低字節(jié),這樣就會(huì)造成錯(cuò)誤判斷。在支持GB2312的環(huán)境下就不存在這個(gè)問(wèn)題。需要注意的是支持GBK的環(huán)境中小于0x80的某個(gè)字節(jié)未必就 是ASCII符號(hào);另外就是最好選用小于0×40的ASCII符號(hào)做一些特殊符號(hào),這樣就可以快速定位,且不用擔(dān)心是某個(gè)漢字的另一半。Big5編碼中也 存在相應(yīng)問(wèn)題。
            CP936和GBK的有些許差別,絕大多數(shù)情況下可以把CP936當(dāng)作GBK的別名。

            GB18030字符集編碼

            GB18030編碼向下兼容GBK和GB2312,兼容的含義是不僅字符兼容,而且相同字符的編碼也相同。GB18030收錄了所有Unicode3.1中的字符,包括中國(guó)少數(shù)民族字符,GBK不支持的韓文字符等等,也可以說(shuō)是世界大多民族的文字符號(hào)都被收錄在內(nèi)。

            GBK和GB2312都是雙字節(jié)等寬編碼,如果算上和ASCII兼容所支持的單字節(jié),也可以理解為是單字節(jié)和雙字節(jié)混合的變長(zhǎng)編碼。GB18030編碼是變長(zhǎng)編碼,有單字節(jié)、雙字節(jié)和四字節(jié)三種方式。

            GB18030 的單字節(jié)編碼范圍是0x00-0x7F,完全等同與ASCII;雙字節(jié)編碼的范圍和GBK相同,高字節(jié)是0x81-0xFE,低字節(jié)的編碼范圍是0x40 -0x7E和0x80-FE;四字節(jié)編碼中第一、三字節(jié)的編碼范圍是0x81-0xFE,二、四字節(jié)是0x30-0x39。

            Windows 中CP936代碼頁(yè)使用0x80來(lái)表示歐元符號(hào),而在GB18030編碼中沒(méi)有使用0x80編碼位,用其他位置來(lái)表示歐元符號(hào)。這可以理解為是 GB18030向下兼容性上的一點(diǎn)小問(wèn)題;也可以理解為0x80是CP936對(duì)GBK的擴(kuò)展,而GB18030只是和GBK兼容良好。

            unicode字符集編碼

               每一種語(yǔ)言的不同的編碼頁(yè),增加了那些需要支持不同語(yǔ)言的軟件的復(fù)雜度。因而人們制定了一個(gè)世界標(biāo)準(zhǔn),叫做unicode。unicode為每個(gè)字符 提供 了唯一的特定數(shù)值,不論在什么平臺(tái)上、不論在什么軟件中,也不論什么語(yǔ)言。也就是說(shuō),它世界上使用的所有字符都列出來(lái),并給每一個(gè)字符一個(gè)唯一特定數(shù)值。

            Unicode的最初目標(biāo),是用1個(gè)16位的編碼來(lái)為超過(guò)65000字符提供映射。但這還不夠,它不能覆蓋全部歷史上的文字,也不能解決傳輸?shù)膯?wèn)題 (implantation head-ache's),尤其在那些基于網(wǎng)絡(luò)的應(yīng)用中。已有的軟件必須做大量的工作來(lái)程序16位的數(shù)據(jù)。
            因 此,Unicode用一些基本的保留字符制定了三套編碼方式。它們分別是UTF-8,UTF-16和UTF-32。正如名字所示,在UTF-8中,字符是 以8位序列來(lái)編碼的,用一個(gè)或幾個(gè)字節(jié)來(lái)表示一個(gè)字符。這種方式的最大好處,是UTF-8保留了ASCII字符的編碼做為它的一部分,例如,在UTF-8 和ASCII中,“A”的編碼都是0x41.

            UTF-16和UTF-32分別是Unicode的16位和32位編碼方式。考慮到最初的目的,通常說(shuō)的Unicode就是指UTF-16。在討論Unicode時(shí),搞清楚哪種編碼方式非常重要。

            UTF-8字符集編碼

            Unicode Transformation Format-8bit,允許含BOM,但通常不含BOM。是用以解決國(guó)際上字符的一種多字節(jié)編碼,它對(duì)英文使用8位(即一個(gè)字節(jié)),中文使用24為(三 個(gè)字節(jié))來(lái)編碼。UTF-8包含全世界所有國(guó)家需要用到的字符,是國(guó)際編碼,通用性強(qiáng)。UTF-8編碼的文字可以在各國(guó)支持UTF8字符集的瀏覽器上顯 示。如,如果是UTF8編碼,則在外國(guó)人的英文IE上也能顯示中文,他們無(wú)需下載IE的中文語(yǔ)言支持包。

            GBK的文字編碼是用雙字節(jié)來(lái)表示的,即不論中、英文字符均使用雙字節(jié)來(lái)表示,為了區(qū)分中文,將其最高位都設(shè)定成1。GBK包含全部中文字符,是國(guó)家編碼,通用性比UTF8差,不過(guò)UTF8占用的數(shù)據(jù)庫(kù)比GBD大。

            GBK、GB2312等與UTF8之間都必須通過(guò)Unicode編碼才能相互轉(zhuǎn)換

            GBK、GB2312--Unicode--UTF8

            UTF8--Unicode--GBK、GB2312

            對(duì)于一個(gè)網(wǎng)站、論壇來(lái)說(shuō),如果英文字符較多,則建議使用UTF-8節(jié)省空間。不過(guò)現(xiàn)在很多論壇的插件一般只支持GBK。

            posted on 2010-08-06 10:25 wrh 閱讀(1239) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            導(dǎo)航

            <2010年11月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            統(tǒng)計(jì)

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久国产精品成人影院| 久久精品国产亚洲5555| 美女久久久久久| 国产精品99久久久久久宅男| 久久综合88熟人妻| 久久久久人妻一区二区三区vr| 成人综合久久精品色婷婷| 色99久久久久高潮综合影院| 亚洲欧洲精品成人久久奇米网| 久久精品免费大片国产大片| 精品久久久久久久久久中文字幕| 伊人久久大香线蕉影院95| 国产成人精品综合久久久| 精品99久久aaa一级毛片| 久久国产精品二国产精品| 狠狠人妻久久久久久综合蜜桃| 狠狠色综合网站久久久久久久| 少妇被又大又粗又爽毛片久久黑人| 一本色道久久88综合日韩精品 | 午夜天堂av天堂久久久| 国产亚洲精品久久久久秋霞| 亚洲中文精品久久久久久不卡| 久久ww精品w免费人成| 97精品伊人久久久大香线蕉 | 久久超碰97人人做人人爱| 久久精品国产一区| 少妇久久久久久被弄到高潮| 99久久无色码中文字幕人妻| 国产精品免费福利久久| 四虎国产永久免费久久| 久久久久久久91精品免费观看| 性高湖久久久久久久久| 91精品国产91久久| 久久久久av无码免费网| 一本大道久久a久久精品综合| 伊色综合久久之综合久久| 久久精品国产亚洲网站| 伊人久久大香线焦AV综合影院| 亚洲国产精品久久久久婷婷老年| 久久精品国产男包| 国产成人精品久久一区二区三区av|