ios下得到漢字拼音的方法比較


 

對網上流傳盛廣的三個取得漢字對應拼音的小總結
1.大小 pinyin最小了,POAPinyin的聲明就快500行了.
2.速度 其實三者差不多,但是不要用POAPinyin原生的那個convert,那個每次都遍歷查找很慢.
3.對比 pinyin只能取得漢字對應拼音的首字母,PYMethod原本是應用於股票查詢的,它的拼音個數少於POAPinyin.
    對於這個漢字"嗯",我拼音輸入法是"en"打出來的,PYMethod得到的是EN,但是POAPinyin得到的是NG,百度百科也讀NG.....
4.原理
  pinyin是把unicode中漢字部分的首字母全部提取到數組,取得時候 拼音數組[漢字的unicode值-unicode中起始漢字值]就直接得到了.
  PYMethod是把unicode轉成GBK,然后根據GBK高低位兩個值確定對應拼音的位置得到拼音
  POAPinyin是把所有拼音與之對應的漢字組成一個表,到時候往這個表里查詢(原生convert方法)
      改進的quickConvert方法是先得到一個漢字unicode值的上下限,然后轉換上面的表成 unicode--拼音 這樣的表,查詢的時候就是哈希查找,更快,要是這個unicode不連續就會有很大的問題了(這個表里面果然缺了字:"乬乮乲仍兙兛兝兞兡兣匁厑厼叾唜唞唟啹嗧囍堎塄娘嬢岃巪愣扔朰楞特猤瓧瓩瓰瓱瓸瓼甅畓睖碐礽稜脦膶芿薐蟘貣辸釀醸釀鋱鋱").這個函數還會跳過一些非ascii符號.另一個方法stringConvert修復了非ascii碼這個問題.使用的時候最好把上面提到的字加進表里.

demo

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM