jinfeng_wang

          G-G-S,D-D-U!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks

          下面對這個圖進行一下說明:
          第一個紅框中的內容是我從unicode.org提供的GB2312->Unicode碼表中隨便抽取的一行,下面以它為例進行說明。
          這里面列出的GB2312和我們計算機實際使用的GB2312是不一樣的。因為GB2312的和ASCII的編碼范圍有沖突,所以使用時都采用兩個字節高位置1的方式,也就是下面我列出的那個EUC才是在計算機內存儲形式的GB2312。原來這是一個“暗”字。
          前者和”區位碼”是有直接關系的,”暗”的區位碼1621,轉換成HEX: 0×1015,只要把高低位都+0×20,就得到了GB2312: 0×3035。
          下面再看看UNICODE,大家可以做一個實驗,把0×6697轉成DEC: 26263,建一個空白HTML檔(encoding隨意),在里面寫上 暗 怎么樣,就能看到這個字了吧:)
          把它轉成BIN: 0110 0110 1001 0111, 查UTF-8的轉換表,這個字的Unicode: U+6679 在 U+0800 和 U+FFFF 之間,是要轉換成三字節的UTF-8的,轉換方法如上面所示,最后得出的UTF-8編碼就是: 0xE69A97。


          UTF-8字符各字節含義

          0×00-0×7F 同ASCII,也不可能作為任何其他多字節UTF-8字符的一部分
          0xC0-0xDF 多字節UTF-8字符的開始字節,而且據此可以判斷出該UTF-8字符的長度(字節數)
          0×80-0xBF 多字節UTF-8字符的跟隨字節
          0xFE-0xFF UTF-8未使用

          那么如何判斷UTF-8字符的長度呢?

          0×00-0×7F 1字節
          0xC0-0xDF 2字節
          0xE0-0xEF 3字節
          0xF0-0xF7 4字節
          0xF8-0xFB 5字節
          0xFC-0xFD 6字節

          UTF-8字符范圍

          Unicode 字節數 表示方法 字節范圍
          U-00000000 -
          U-0000007F
          1 0xxxxxxx (0×00-0×7F)
          U-00000080 -
          U-000007FF
          2 110xxxxx 10xxxxxx (0xC2-0xDF)(0×80-0xBF)
          U-00000800 -
          U-0000FFFF
          3 1110xxxx 10xxxxxx 10xxxxxx 0xE0(0xA0-0xBF)(0×80-0xBF)
          (0xE1-0xEF)(0×80-0xBF)(0×80-0xBF)
          U-00010000 -
          U-001FFFFF
          4 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 0xF0(0×90-0xBF)(0×80-0xBF)
          (0×80-0xBF)(0xF1-0xF7)(0×80-0xBF)
          (0×80-0xBF)(0×80-0xBF)
          U-00200000 -
          U-03FFFFFF
          5 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
          U-04000000 -
          U-7FFFFFFF
          6 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
          posted on 2006-01-18 21:59 jinfeng_wang 閱讀(642) 評論(0)  編輯  收藏 所屬分類: ZZ
          主站蜘蛛池模板: 韶山市| 红河县| 庆元县| 灵川县| 都兰县| 应用必备| 翁牛特旗| 英德市| 攀枝花市| 彭泽县| 洛宁县| 高唐县| 开江县| 建瓯市| 上高县| 涟水县| 中卫市| 赤城县| 奇台县| 定安县| 扎鲁特旗| 浦北县| 北宁市| 新宁县| 遵化市| 溧水县| 井研县| 凤阳县| 英山县| 玉龙| 如东县| 龙山县| 湘乡市| 榆中县| 庆阳市| 陆良县| 凤凰县| 洞头县| 沈阳市| 崇信县| 奉节县|