ios下得到汉字拼音的方法比较

转载 2013年12月03日 09:42:11

对网上流传盛广的三个取得汉字对应拼音的小总结
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

 

相关文章推荐

iOS获取汉字拼音首字母的方法

iOS获取汉字拼音首字母的方法 之前在项目中需要根据昵称的首字母进行排序,蹚了几个坑,今天记录一下。 其实iOS系统封装的就有获取汉子首字母的方法,但不推荐,想看最优解的同学直接略过: ...

iOS 获取汉字拼音首字母

IOS获取汉字首字母这个一般用在通讯里排序居多,我这里就是用到了通讯里的排序,然后就来mark一下,记录。核心代码char pinyinFirstLetter(unsigned short hanzi...

IOS 汉字拼音排序

在网上找了好久,没有找到IOS版拼音排序的好例子,在项目中用到了排序,总结出来之后,写了一个小例子供大家参考 例子链接

iOS开发-C语言获取汉字拼音首字母

android/ios开发如何获取汉字拼音的首字母? 提供的一个比较好的方案,是使用 c语言编写的一个算法,可以 在ios和 android.下面提供一个可以使用的代码,并且附上使用方法: /* *...

iOS获取汉字拼音首字母

MySQL数据库获取汉字拼音的首字母函数

需求简介:最近的一个项目,想实现如下图所示的显示效果。很明显,如果能够获取对应的汉字词组的拼音首字母就可以实现了,如果是固定的几个汉字,人为的拼一下就可以了,不过项目中有多处功能是需要这个效果的,并且...

VC/MFC 获取汉字拼音首字母(unicode编码)

VC 获取汉字拼音首字母(unicode编码)上CString GetFirstLetter(LPCTSTR strName) { static int li_SecPosValue[] = ...

实现v9内容页url规则增加汉字拼音功能

效果如下: 当你的内容标题为 绿色软件 时,链接地址里将带上 lvseruanjian . 实现过程: 修改 modules/content/classes/url.class.php ...

AutoCompleteTextView输入汉字拼音首字母实现过滤提示(支持多音字)

AutoCompleteTextView具有输入提示的功能,但是它的这种提示不适合对股票列表的过滤,如果你玩过股票软件,就会知道只要输入股票名称的首字母或股票代码就会出现符合匹配的股票,这种过滤怎么实...

如何获得汉字拼音的首字母序列

package wkx; public class TestName { private static String[] strChineseCharList = { "A阿啊锕嗄厑哎哀唉埃...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)