• <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)題開始
            02           02            STX      正文開始
            03           03            ETX      正文結(jié)束
            04           04            EOT         傳輸結(jié)否
            05           05            ENQ        詢問
            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碼 鍵盤 ASCII 碼 鍵盤 ASCII 碼 鍵盤 ASCII 碼 鍵盤
            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ǔ)拼音縮寫。

            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 的原因大慨是為了避開低值字節(jié)區(qū)間。

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

            如果不另加說明,GB2312 常指這種修改過的編碼。

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

            上面這句有誤,應(yīng)該說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位編碼空間來支持漢字。區(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)帶來麻煩。

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

            GB18030字符集編碼

            GB18030編碼向下兼容GBK和GB2312,兼容的含義是不僅字符兼容,而且相同字符的編碼也相同。GB18030收錄了所有Unicode3.1中的字符,包括中國(guó)少數(shù)民族字符,GBK不支持的韓文字符等等,也可以說是世界大多民族的文字符號(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來表示歐元符號(hào),而在GB18030編碼中沒有使用0x80編碼位,用其他位置來表示歐元符號(hào)。這可以理解為是 GB18030向下兼容性上的一點(diǎ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ǔ)言。也就是說,它世界上使用的所有字符都列出來,并給每一個(gè)字符一個(gè)唯一特定數(shù)值。

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

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

            UTF-8字符集編碼

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

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

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

            GBK、GB2312--Unicode--UTF8

            UTF8--Unicode--GBK、GB2312

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

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


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


            導(dǎo)航

            <2010年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            統(tǒng)計(jì)

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久人人爽人人爽人人片av高请| 精品久久久久香蕉网| 久久噜噜久久久精品66| 精品99久久aaa一级毛片| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 国产国产成人久久精品| 国产精品伦理久久久久久| 久久无码人妻精品一区二区三区 | 久久精品国产亚洲av日韩| 精品无码久久久久国产| 久久成人18免费网站| 久久亚洲精品无码VA大香大香| 精品无码久久久久久尤物| 久久强奷乱码老熟女| 久久ww精品w免费人成| 久久国产V一级毛多内射| 久久婷婷五月综合国产尤物app| 青青草国产成人久久91网| 中文字幕无码久久人妻| AAA级久久久精品无码区| 亚洲国产精品无码久久久秋霞2 | 囯产精品久久久久久久久蜜桃| 久久国产精品99久久久久久老狼 | 日韩电影久久久被窝网| 久久精品国产一区| 久久精品国产亚洲AV无码娇色| 久久人人超碰精品CAOPOREN | 国产精品久久网| 国产偷久久久精品专区| 久久精品国产欧美日韩99热| 精品久久久久久无码中文字幕 | 精品久久久久久99人妻| 久久精品这里热有精品| 久久天天躁狠狠躁夜夜avapp| 久久久久久免费视频| 午夜视频久久久久一区 | 国产呻吟久久久久久久92| 91久久精品91久久性色| 久久久精品人妻一区二区三区四| 人妻久久久一区二区三区| 青青草原精品99久久精品66 |