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

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

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

    笨笨的思想片斷

    零碎片斷,雜七雜八。
    posts - 25, comments - 79, trackbacks - 0, articles - 0

    JDK 1.5 對超大字符集的支持

    Posted on 2005-12-09 11:27 笨笨 閱讀(3589) 評論(2)  編輯  收藏 所屬分類: Java

    JDK 1.5 對超大字符集的支持

    Unicode 與超大字符集
    國標 GB18030 規定了4字節擴展部分,這部分區域目前在 Unicode 規范中作為CJK Ext B區存在,即常說的中文超大字符集。這部分區域編碼為 \U20000 - \U2A6D6。

     

    UTF-16與Java String/Character 對象
    一個完整的 Unicode 字符叫 代碼點/CodePoint,而一個 Java char 叫 代碼單元 code unit。
    String 對象以UTF-16保存 Unicode 字符,需要用2個字符表示一個 超大字符集的漢字,這這種表示方式稱之為 Surrogate,第一個字符叫 Surrogate High,第二個就是 Surrogate Low。

    判斷一個char是否是 Surrogate 區的字符,用 Character的 isHighSurrogate()/isLowSurrogate()方法。
    從兩個Surrogate High/Low 字符,返回一個完整的 Unicode CodePoint 用 Character.toCodePoint()/codePointAt()方法。

    一個 Code Point ,可能需要一個也可能需要兩個char表示,因此不能直接使用 CharSequence.length()方法直接返回一個字符串到底有多少個漢字,而需要用String.codePointCount()/Character.codePointCount()。

    要定位字符串中的第N個字符,不能直接將 N 作為偏移量,而需要從字符串頭部依次遍歷得到,需要用String/Character.offsetByCodePoints() 方法。

    從字符串的當前字符,找到上一個字符,也不能直接用offset -- 實現,而需要用 String.codePointBefore()/Character.codePointBefore(),或用 String/Character.offsetByCodePoints()

    從當前字符,找下一個字符,不能直接用 offset ++ 實現,需要判斷當前 CodePoint 的長度后,再計算得到,或用 String/Character.offsetByCodePoints() 。


    Swing 對 超大字符集的支持
    JTextPane增加了對 超大字符集的支持,只要設置字體正確,就可以顯示和編輯超大字符集。

    Feedback

    # re: JDK 1.5 對超大字符集的支持  回復  更多評論   

    2007-03-19 00:22 by 扇影丹青
    請問怎么才能讓我的eclipse的editor和console顯示unicode增補字符?
    好像就只能顯示到0xffff
    之后的都是問號
    謝謝!

    # re: JDK 1.5 對超大字符集的支持  回復  更多評論   

    2007-03-19 13:41 by 笨笨
    似乎要在 Eclipse 設置中將相關的顯示字體設置為“宋體-超大字符集”,可以試一試。
    主站蜘蛛池模板: 亚洲综合在线另类色区奇米| 国产在线观看免费不卡| 亚洲成a人片在线观看日本| 国产精品九九久久免费视频| 亚洲毛片网址在线观看中文字幕| 色多多免费视频观看区一区| 亚洲国产综合精品中文字幕 | 亚洲国产韩国一区二区| 国产成人yy免费视频| 亚洲一区电影在线观看| 日韩毛片免费在线观看| 日韩毛片在线免费观看| 国产精品亚洲精品日韩已方 | 伊人久久国产免费观看视频| 不卡精品国产_亚洲人成在线| 中文字幕免费观看视频| 亚洲a一级免费视频| 免费H网站在线观看的| 亚洲AV无码一区二区三区电影| 婷婷综合缴情亚洲狠狠尤物| 91成人免费福利网站在线| 亚洲精品无码久久久久久久| 成年女人喷潮毛片免费播放| 香蕉视频免费在线| 亚洲av无码av制服另类专区| 国产92成人精品视频免费| 久久亚洲精品无码av| 亚洲色精品vr一区二区三区| 16女性下面扒开无遮挡免费| 亚洲色精品VR一区区三区| 亚洲精品无码久久不卡| 18女人腿打开无遮掩免费| 国产精品亚洲а∨无码播放不卡 | 亚洲免费网站观看视频| 男女猛烈无遮掩视频免费软件| 久久精品国产亚洲夜色AV网站| 成年性羞羞视频免费观看无限| fc2免费人成为视频| 亚洲国产精品yw在线观看| 亚洲精品A在线观看| 性xxxxx免费视频播放|