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

            可冰

            冰,是沉睡著的水......

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              37 隨筆 :: 5 文章 :: 94 評論 :: 0 Trackbacks
            UTF Formats Estimated average storage required per page (3000 characters)
            UTF-8




            3 KB
            (1999)
            5 KB
            (2003)
            On average, English takes slightly over one unit per code point. Most Latin-script languages take about 1.1 bytes. Greek, Russian, Arabic and Hebrew take about 1.7 bytes, and most others (including Japanese, Chinese, Korean and Hindi) take about 3 bytes. Characters in surrogate space take 4 bytes, but as a proportion of all world text they will always be very rare.
            UTF-16


            6 KB All of the most common characters in use for all modern writing systems are already represented with 2 bytes. Characters in surrogate space take 4 bytes, but as a proportion of all world text they will always be very rare.
            UTF-32

            12 KB All take 4 bytes

            [來源: http://icu.sourceforge.net/docs/papers/forms_of_unicode/]


            UTF-8(ISO 10646-1) 有以下特性:

            • UCS 字符 U+0000 到 U+007F (ASCII) 被編碼為字節 0x00 到 0x7F (ASCII 兼容). 這意味著只包含 7 位 ASCII 字符的文件在 ASCII 和 UTF-8 兩種編碼方式下是一樣的.
            • 所有 > U+007F 的 UCS 字符被編碼為一個或多個字節的串, 每個字節都有標記位集. 因此, ASCII 字節 (0x00-0x7F) 不可能作為任何其他字符的一部分.
            • 表示非 ASCII 字符的多字節串的第一個字節總是在 0xC0 到 0xFD 的范圍里, 并指出這個字符包含多少個字節. 多字節串的其余字節都在 0x80 到 0xBF 范圍里. 這使得重新同步非常容易, 并使編碼無國界, 且很少受丟失字節的影響.
            • 可以編入所有可能的 231個 UCS 代碼
            • UTF-8 編碼字符理論上可以最多到 6 個字節長, 然而 16 位 BMP 字符最多只用到 3 字節長.
            • Bigendian UCS-4 字節串的排列順序是預定的.
            • 字節 0xFE 和 0xFF 在 UTF-8 編碼中從未用到.

            下列字節串用來表示一個字符. 用到哪個串取決于該字符在 Unicode 中的序號.

            U-00000000 - U-0000007F: 0xxxxxxx
            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

            xxx 的位置由字符編碼數的二進制表示的位填入. 越靠右的 x 具有越少的特殊意義. 只用最短的那個足夠表達一個字符編碼數的多字節串. 注意在多字節串中, 第一個字節的開頭"1"的數目就是整個串中字節的數目.

            例如: Unicode 字符 U+00A9 = 1010 1001 (版權符號) 在 UTF-8 里的編碼為:

            11000010 10101001 = 0xC2 0xA9

            而字符 U+2260 = 0010 0010 0110 0000 (不等于) 編碼為:

            11100010 10001001 10100000 = 0xE2 0x89 0xA0

            這種編碼的官方名字拼寫為 UTF-8, 其中 UTF 代表 UCS Transformation Format. 請勿在任何文檔中用其他名字 (比如 utf8 或 UTF_8) 來表示 UTF-8, 當然除非你指的是一個變量名而不是這種編碼本身.

            什么編程語言支持 Unicode?

            在大約 1993 年之后開發的大多數現代編程語言都有一個特別的數據類型, 叫做 Unicode/ISO 10646-1 字符. 在 Ada95 中叫 Wide_Character, 在 Java 中叫 char.

            ISO C 也詳細說明了處理多字節編碼和寬字符 (wide characters) 的機制, 1994 年 9 月 Amendment 1 to ISO C 發表時又加入了更多. 這些機制主要是為各類東亞編碼而設計的, 它們比處理 UCS 所需的要健壯得多. UTF-8 是 ISO C 標準調用多字節字符串的編碼的一個例子, wchar_t 類型可以用來存放 Unicode 字符.
            [來源: http://www.linuxforum.net/books/UTF-8-Unicode.html]

            posted on 2005-09-19 15:38 可冰 閱讀(374) 評論(0)  編輯 收藏 引用 所屬分類: UTF-8
            久久久久久一区国产精品| 麻豆av久久av盛宴av| 久久人妻少妇嫩草AV无码专区| 久久精品国产久精国产果冻传媒 | 久久久中文字幕日本| 久久精品国产亚洲Aⅴ香蕉| 一个色综合久久| 久久综合狠狠综合久久综合88| 精品久久久久久成人AV| 国产精品美女久久久免费| 精品久久久久久久久免费影院| 日本久久久久亚洲中字幕| 99久久精品国产一区二区蜜芽| 亚洲精品美女久久久久99小说 | 久久无码精品一区二区三区| 99久久做夜夜爱天天做精品| 精品人妻久久久久久888| 国产精品VIDEOSSEX久久发布| 久久久久久国产a免费观看黄色大片| 亚洲精品午夜国产VA久久成人| 久久国产精品久久国产精品| 欧美精品福利视频一区二区三区久久久精品 | 天堂无码久久综合东京热| 狠狠88综合久久久久综合网| 欧美日韩成人精品久久久免费看| 熟妇人妻久久中文字幕| 久久综合久久鬼色| 94久久国产乱子伦精品免费| 亚洲va久久久噜噜噜久久天堂| 国内精品欧美久久精品| 久久精品国产亚洲精品2020| 久久亚洲精品国产精品婷婷 | 国产亚洲色婷婷久久99精品| 久久精品国产亚洲AV忘忧草18| 久久久99精品一区二区| 日韩欧美亚洲综合久久影院d3| 欧美噜噜久久久XXX| 2021最新久久久视精品爱| 无码人妻少妇久久中文字幕| 国产日韩久久免费影院| 国产精品青草久久久久婷婷|