<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



    主站蜘蛛池模板: 亚洲人成免费电影| 亚洲精品成人网站在线观看| 亚洲综合网美国十次| 成全在线观看免费观看大全| 亚洲人成精品久久久久| 你懂得的在线观看免费视频| 国产亚洲美女精品久久久| 国产精品hd免费观看| 中文字幕在线亚洲精品| 成人性生交大片免费看中文| 国产成A人亚洲精V品无码| 日韩免费在线观看视频| 亚洲高清美女一区二区三区| 在线看片韩国免费人成视频| 日本亚洲精品色婷婷在线影院| 手机在线免费视频| 精品韩国亚洲av无码不卡区| 亚洲av高清在线观看一区二区| 亚洲高清免费视频| 亚洲人成电影在在线观看网色| 99久久精品免费视频| 亚洲AV综合色区无码二区偷拍 | 亚洲国产精华液2020| 国产资源免费观看| 中文字幕看片在线a免费| 亚洲爱情岛论坛永久| 欧美a级成人网站免费| 理论亚洲区美一区二区三区| 国产亚洲精品激情都市| 免费观看美女用震蛋喷水的视频| 最新亚洲精品国偷自产在线 | 日韩在线不卡免费视频一区| 国产精品亚洲精品| 亚洲午夜福利精品无码| 99在线热视频只有精品免费| 亚洲精品乱码久久久久久蜜桃图片| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 爽爽日本在线视频免费| 亚欧洲精品在线视频免费观看| 亚洲毛片无码专区亚洲乱| 国产又黄又爽又刺激的免费网址|