<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



    主站蜘蛛池模板: 亚洲AV永久青草无码精品| 午夜毛片不卡高清免费| 亚洲人成激情在线播放| 日本高清免费中文字幕不卡| 成人av片无码免费天天看| 亚洲视频在线免费播放| 免费观看a级毛片| 免费91麻豆精品国产自产在线观看| 亚洲精品在线视频观看| 国产黄色片在线免费观看| 精品成人免费自拍视频| 亚洲一卡2卡三卡4卡无卡下载| 中文亚洲成a人片在线观看| 成人免费的性色视频| 高清免费久久午夜精品| 亚洲视频中文字幕| 亚洲精品无码久久久久牙蜜区| 亚洲视频在线精品| 毛片免费在线观看网址| 今天免费中文字幕视频| 老妇激情毛片免费| 亚洲人成网网址在线看| 亚洲精品成人无码中文毛片不卡| 操美女视频免费网站| 99re6免费视频| 国产日韩久久免费影院| 亚洲色大成网站WWW国产| 久久久综合亚洲色一区二区三区| 在线观看91精品国产不卡免费| h视频在线观看免费完整版| 一级毛片在线免费播放| 亚洲人成欧美中文字幕| 亚洲一卡二卡三卡| 亚洲视频一区调教| 国产V亚洲V天堂无码| 亚洲精品亚洲人成在线观看下载| 最新中文字幕电影免费观看| 久久久久免费精品国产小说| 黄色三级三级三级免费看| 亚洲精品偷拍视频免费观看| 永久免费不卡在线观看黄网站|