• <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>

            攀升·Uranus


            Something Different,Something New
            數據加載中……

            小談字符編碼-unicode & utf-8

             

                    本周遇到了文字編碼的問題,其實之前做IME的時候已經有一些積累了,但沒有寫下來,這次做個小結。

                    首先說說ASCII碼吧,計算機在外國誕生后,大家要想怎么吧characters input給計算機,他們就定了ASCII,現在有人抱怨老美太小氣,只設計了128個,其實不然。試想想當時的環境,一是他們無法預料計算機能像現在這樣普及,二是存儲設備還都不成熟,成本爆高。所以導致后來的局面,也就是ISOunicode兩種字符集,分別是UCS-4(4個字節)unicode 1.0(2個字節),但這種定長的導致英語國家不答應了,平時字符都是一個byte,現在突然編程2個甚至是4個,還有后來加入新的字符后就更亂了,最后兩個組織整合了,整個世界終于安靜了。

                    在這我想澄清個概念,就是大家不要把unicodeutf8, utf-16, utf-32搞亂了,首先unicode是一套標準的字符集,基本包括了大多數的文字了,可以在這個路徑下載最新的字符表http://www.unicode.org/ ,utf-7,8等都是基于這個字符集的一些編碼算法。在unicode設計的時候把ASCII碼的128個作為unicode的前128個。那么現在最最最流行的也就是UTF-8的編碼了,它的算法思想是:
                    U-00000000 - U-0000007F:  0xxxxxxx               ASCII
                    U-00000080 - U-000007FF:  110xxxxx 10xxxxxx  
                    U-00000800 - U-0000FFFF:  1110xxxx 10xxxxxx 10xxxxxx  
                    U-00010000 - U-001FFFFF:  11110xxx 10xxxxxx 10xxxxxx 10xxxxxx  
                    U-00200000 - U-03FFFFFF:  111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx  

                    U-04000000 - U-7FFFFFFF:  1111110x  10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 

                    比如我在codeCharts里面找到這個字符?(010e),那么它的UTF-8結果是:

                    1 0000 1110 -------> 110 00 100 10 001110     C48E  就這么簡單了,有沒有。

                    這里我還想引入一個庫libiconv,可以說是一個萬能的轉換編碼的工具把,去網站http://www.gnu.org/software/libiconv/ 了解詳情,它目前支持的字符編碼不下30種,常用的都有了。那么有了這個庫以后呢,大家可以在遇到已知輸入多種編碼時,可以用它來轉成一種類型的編碼(utf-8),然后做處理。VCard的解析我就是就是這樣解決的。

                    先到這,希望各位博友能再補充,提點一二,萬分感謝!

             

            posted on 2009-03-01 11:01 攀升 閱讀(1724) 評論(1)  編輯 收藏 引用 所屬分類: Others

            評論

            # re: 小談字符編碼-unicode & utf-8  回復  更多評論   

            大致講到點子上去了,不錯,又進步~~
            看來沒有白教你呀!
            2009-03-02 23:17 | Cindy
            久久av无码专区亚洲av桃花岛| 久久无码精品一区二区三区| 日韩人妻无码一区二区三区久久| 精品久久久久久无码专区不卡| 99久久国产免费福利| 麻豆av久久av盛宴av| 国产精品久久久天天影视| 亚洲欧美精品一区久久中文字幕 | 99久久国产主播综合精品| 国产精品成人久久久久三级午夜电影 | 中文字幕日本人妻久久久免费| 久久无码人妻一区二区三区| 国产午夜福利精品久久| 精品久久久久久中文字幕人妻最新| 久久综合五月丁香久久激情| 久久九九青青国产精品| 人妻精品久久无码专区精东影业| 亚洲伊人久久综合影院| 精品无码久久久久久久久久| 好久久免费视频高清| 久久国产精品77777| 少妇精品久久久一区二区三区| 色婷婷综合久久久久中文字幕| 久久久久国产一级毛片高清版| 久久精品国产亚洲AV香蕉| 久久婷婷午色综合夜啪| 久久中文字幕视频、最近更新| 99热都是精品久久久久久| 国产L精品国产亚洲区久久| 久久亚洲国产精品一区二区| 国产精品国色综合久久| 久久水蜜桃亚洲av无码精品麻豆 | 久久国产精品视频| 久久国产精品免费| 日日狠狠久久偷偷色综合0 | 国产成人精品久久亚洲高清不卡| 久久久久亚洲精品天堂| 国产美女久久精品香蕉69| 久久777国产线看观看精品| 国产精品久久一区二区三区| 久久精品无码一区二区三区|