<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 82, comments - 269, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    UNICODE的一點理解

    Posted on 2006-11-12 18:17 itspy 閱讀(1759) 評論(3)  編輯  收藏 所屬分類: 其它技術
    看了好多UNICODE的標準了,經常在不同的地方看到不一致的說法,現在把我的理解寫下來。

    請大家最好帶著批判的眼光來看,里面可能有很多錯誤,不要誤了大家,下面列出了很多參考文獻。如果發現了錯誤,請大家指出或討論。

    1)UNICODE定義的字符集,剛開始只準備用16位,可是好像不夠用,因為16位最多只能容納6萬多個字符,后來就擴展到32位了(好像實際上只有31位,最高位不用,永遠為0)

    2)UTF-8是UNICODE的一種編碼形式,由于Unicode開始只準備用16位來表示所有字符,所以一般情況下UTF8編碼也只會出現1-3個字節,但實際上它可以支持到6個字節(但是6個字節有一些保留位,真正有效的位也就剛好只有32,剛好容納UNICODE字符集。??后面附UTF-8的詳細編碼方式,可以看出為什么6個字節,有效位只有32位。

    3)平常所說的UNICODE編碼指的是UTF-16,?它使用16位,或者是32位來表示一個字符。UTF-16與UTF-8類似,只是跨步使用了2個字節,而不是UTF-8的一個字節了(也就是要么2個字節,要么4個字節,不可能出現1個或者3個字節的編碼)。當然如果用UTF-16這種編碼方式,文件必需要以一定的方式在開頭申明使用了這種方式,如何申明就不說了,這方面的資料網上很多,并且非常一致。

    4)UTF-32就沒什么好說的了,網上資料寫的很明白,就是直接用一個32位來表示UNICODE。UTF-32與UTF-16一樣,他也要在文件的開頭以一定的方式來申明它使用了UTF-16編碼,要不然就不能正確解碼了。

    ??計算機編碼大全(強烈推薦)?http://www.cppblog.com/oosky/archive/2005/12/13/1723.aspx

    http://bbs.netton.cn/ShowPost.asp?ThreadID=1906

    http://iask.sina.com.cn/b/3798538.html

    http://www.matrix.org.cn/thread.shtml?topicId=34590&forumId=19

    http://www.ismayday.com/article.asp?id=61

    http://www.cppblog.com/liangbo/archive/2006/04/23/6103.html

    http://dev.csdn.net/article/35/35305.shtm

    http://support.uufriend.com/blog/tom/99220.htm

    http://spaces.msn.com/iamtin/Blog/cns!1pvp_euYfEkmt-djP-0RlwBw!302.entry

    http://news.onlinedown.net/info/13164-1.htm

    http://www.linuxfans.org/nuke/modules.php?name=News&file=article&op=view&sid=1749


    UTF-8的編碼方式

    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?


    注:原來發表于http://bbs.xml.org.cn/dispbbs.asp?boardID=1&replyID=41780&ID=32741&skin=1.
    但由于一些原因,我上此站點有些慢,就轉放于此


    評論

    # re: UNICODE的一點理解  回復  更多評論   

    2006-11-12 21:23 by jiangsukid
    16個字節,或者是32個字節來
    是16個bit, 2個字節?
    筆誤嗎?

    # re: UNICODE的一點理解  回復  更多評論   

    2006-11-12 22:12 by itspy
    @jiangsukid
    謝謝你的提醒,我寫錯了.

    應該是16位,或者是32位.我馬上去修改

    # re: UNICODE的一點理解  回復  更多評論   

    2006-11-14 12:33 by Dennis
    Unicode 3.0 版本, 實際上只需要 21 bits 就能表達所有字
    即使用 UTF-32 時, 也只會用去其中 21 bits
    http://www.unicode.org/faq/utf_bom.html



    主站蜘蛛池模板: youjizz亚洲| 亚洲AV无码日韩AV无码导航 | 亚洲熟妇无码久久精品| 亚洲国产精品无码av| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 亚洲AV乱码一区二区三区林ゆな| 伊人久久综在合线亚洲91| 久久亚洲国产精品五月天婷| 亚洲麻豆精品国偷自产在线91| 亚洲AV中文无码乱人伦| 亚洲人成影院在线观看| 亚洲日韩人妻第一页| 中文字幕精品亚洲无线码二区| 亚洲中文字幕久久精品无码APP| 亚洲精品制服丝袜四区| 亚洲影院在线观看| 亚洲福利秒拍一区二区| 亚洲一区二区三区高清在线观看 | 亚洲人成色7777在线观看| 亚洲va久久久噜噜噜久久男同| 亚洲gv猛男gv无码男同短文| 亚洲色欲色欲综合网站| 亚洲成在人线中文字幕| 亚洲乱理伦片在线观看中字| 自拍偷自拍亚洲精品播放| 一级一级一级毛片免费毛片| 91福利免费网站在线观看| 97国产在线公开免费观看| 免费中文熟妇在线影片| 国产免费怕怕免费视频观看| 亚洲尤码不卡AV麻豆| 亚洲精品中文字幕无码AV| 亚洲精品无码专区| 黄色网页在线免费观看| ww4545四虎永久免费地址| 在线观看亚洲免费视频| 亚洲人成网亚洲欧洲无码久久| 亚洲国产亚洲综合在线尤物| 色欲色欲天天天www亚洲伊| a视频在线免费观看| 1000部国产成人免费视频|