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

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

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

    vulcan

    低頭做事,抬頭看路

       :: 首頁 :: 聯系 :: 聚合  :: 管理
      41 Posts :: 7 Stories :: 28 Comments :: 0 Trackbacks
    由于項目中需要把漢字轉成拼音,并且是涉及到姓名的轉換,因此不能排除有生僻字的可能.我先是查了一下漢字編碼的知識,漢字編碼知識如下:
    http://www.knowsky.com/resource/gb2312tbm.htm;這里說的是區位碼,實際上區位碼和漢字GBK碼就是同一個東西,在區位碼的區號和位號上分別加上0xA0就得到了GB2312編碼了,但是一看編碼規律,只有第一次漢字和讀音掛鉤,第二級漢字是按照部首進行編排的,所以應該是沒有什么絕對的關系的。于是又在網上找其他的資料,用java實現的,網上流傳廣泛的有兩種方法:但是就我來看都不怎么的,第一種是把漢字讀音和相應區的漢字對照;但是只是涉及了常用的漢字,遇到生僻字是不能轉換的;第二種號稱完整版的方法,居然把漢字碼表的基本對應關系放到了java類中,并且還說什么為了防止函數字符超過65535長度的限制,用了100多個init函數.我實在是不能理解.其實我想得很簡單:找一個漢字拼音對照表,然后初始化時讀入到HashMap中,用漢字為Key,用拼音作為value,然后就可以獲取了.不過也考慮過,GBK碼表的長度有27954個漢字,從來沒有用HashMap處理過如此長度得東西,不知道會不會有什么限制,不過隨便想了一下應該不可能:第一java HashMap的長度不受此限制;第而,查找漢字時,在HashMap中肯定時用二分法或者更好得算法來取Value,那么最壞的情況也不過時lg2(27954),這是很快的.很快實現了,試了一下性能還不錯,在我的機器上:init的時間200ms,查找一個漢字的平均時間為8ms.其實之前我還想過加快速度的更好的方法:把這個漢字編碼表自己先處理一遍,先利用冒泡排序法,把編碼對應在數據文件里排好,給每個讀音漢字對照分配固定的足夠長的字符寬度,對于編碼中沒有漢字的區域,用空白代替;這樣漢字的拼音編碼關系就和漢字本身的編碼建立了聯系,減去第一個漢字的編碼值,就可以得到漢字拼音在數據文件中絕對位置了,然后就可以根據漢字本身的編碼然后用文件隨機讀取的方法,取到拼音值,不知道這樣是不是會比用hashMap的方法要快一點?不過既然HashMap的方案可行了.那么就暫時不取測試了.
    相關的資料:
    (1) GBK漢字全拼音單字源碼表
    (2) 單字多音碼表

    posted on 2008-01-24 10:50 vulcan 閱讀(2205) 評論(6)  編輯  收藏

    Feedback

    # re: 也說漢字轉拼音 2008-05-16 10:49 yizhyi@163.com
    那對 多音字 你怎么處理的來?
    代碼可否發一份給我: yizhyi@163.com
    謝謝  回復  更多評論
      

    # re: 也說漢字轉拼音 2008-05-23 18:49 vulcan
    多音字的處理:
    我寫了一個Python腳本,把這個單字碼表轉換了一下,換成了這樣的形式:
    漢字:讀音1,讀音2//換行
    讀入到java Hash中,是以漢字為Key,字符串數組為Value的Hash表。我的應用情況比較特殊,是用于人名的轉換;而用于人名的漢字讀音一般是固定的,所以就很好處理了。另外,處理后的單字多音碼表我傳到上文中了。  回復  更多評論
      

    # re: 也說漢字轉拼音 2008-06-19 16:10
    像麒麟這樣的生僻字用java
    怎么轉換啊  回復  更多評論
      

    # re: 也說漢字轉拼音 2009-02-22 14:32 湘江一角
    大哥,能不能發一份源代碼給我,現在也是多音字上面犯愁。郵箱:luoguanghua@hotmail.com  回復  更多評論
      

    # re: 也說漢字轉拼音 2010-12-09 19:22 liuboram
    同樣的問題,能否把代碼共享一下呢?liuborama@gmail.com
    多謝了  回復  更多評論
      

    # re: 也說漢字轉拼音 2012-11-14 19:22 hikaruxx
    你好,能不能發一份源代碼?ziven000@163.com
    謝謝  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲中文字幕成人在线| 亚洲日韩中文字幕在线播放| 久久亚洲精品无码观看不卡| 亚洲黄色网址在线观看| 亚洲精品无码国产片| 99视频在线观看免费| 四虎影视www四虎免费| 亚洲阿v天堂在线| 亚洲日韩精品国产一区二区三区| 羞羞视频免费网站在线看| 国内精品乱码卡1卡2卡3免费| 亚洲国产精品专区在线观看| 亚洲人成在线播放| 巨胸喷奶水www永久免费| 成熟女人牲交片免费观看视频| 亚洲乱码无码永久不卡在线| 亚洲乱妇熟女爽到高潮的片| 久久精品免费一区二区三区| 国产男女猛烈无遮挡免费视频| 久久久久亚洲AV片无码下载蜜桃| 羞羞视频在线免费观看| av无码免费一区二区三区| 亚洲日韩中文在线精品第一| 国产精品亚洲片在线va| 国产在线精品免费aaa片| 国产美女无遮挡免费视频网站| 亚洲精品国产福利在线观看| 久久成人永久免费播放| 成人毛片免费在线观看| 亚洲国产精品久久久久婷婷老年| 美女被免费网站视频在线| 又粗又大又黑又长的免费视频| 亚洲AV无码久久寂寞少妇| 一区二区免费国产在线观看 | 中文亚洲AV片不卡在线观看| 亚洲欧美日韩中文二区| 亚洲免费视频网址| 国产v亚洲v天堂无码网站| 成在线人直播免费视频| 国产精品麻豆免费版| 国产午夜亚洲精品|