对网上流传盛广的三个取得汉字对应拼音的小总结
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 工具类汉字转拼音,非常方便。如济南市--jinanshi 缺分刚从项目摘下来,有需要的用。
改进的quickConvert方法是先得到一个汉字unicode值的上下限,然后转换上面的表成 unicode--拼音 这样的表,查询的时候就是哈希查找,更快,要是这个unicode不连续就会有很大的问题了(这个表里面果然缺了字:"乬乮乲仍兙...
NULL 博文链接:https://janedoneway.iteye.com/blog/1647615
iOS开发中经常遇到需要根据联系人、好友的昵称首字母来分区显示,但是怎么获取汉字的首字母呢,现在只需简单的4行代码,就可以轻松加愉快的获取汉字的首字母了,更有swift代码、OC代码供你选择
获取城市列表,searchabar搜索查询,支持汉字和拼音检索
IOS应用源码之获取汉字汉语拼音首字母.zip
ios默认使用utf-8格式编码,中文在ios张红的默认排序是不可用的。 本工具提供了中文数组排序,汉字转拼音 具体使用方法见demo
iOS 显示汉字的Unicode和UTF-8编码
iOS - 使用CFStringTransform汉字转拼音
qt 跨平台 测试在安卓 ios windows 上可用 支持utf_8 gb2312 编码
是国外大牛写的,IOS中文数据转换成拼音首字母。
IOS获取汉字的首字母,同时转换为大写,代码里有详细的注释来说明如何使用,初入IOS小学弟,求大神多多指教
IOS 不规则按钮实现方法 直接引用即可
汉字ios拼音转换。
ios应用源码之获取汉字汉语拼音首字母,uitableview中文也可以加index了pinyin
汉字转化为拼音内含OC Swift版本
拼音分类主要用于通讯录好友列表,里面对好友名字开头进行了判断
IOS 工厂方法模式代码Demo IOS 工厂 方法 模式 设计
Cisco路由器IOS映像恢复及升级方法
ios自定义回调方法