在iOS中汉语转拼音可以使用系统提供的方法,也可以使用第三方库来实现,但是网上说使用系统方法实现的话性能会比较差,此处只是提供方法,至于选择使用哪种方法,自己看情况而定。

1、系统方法

主要使用到了方法CFStringTransform

NSString *hanziText = @"我是汉字";
if ([hanziText length]) {  NSMutableString *ms = [[NSMutableString alloc] initWithString:hanziText];  if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformMandarinLatin, NO)) {  NSLog(@"pinyin: %@", ms);  }  if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformStripDiacritics, NO)) {  NSLog(@"pinyin: %@", ms);  }
}  

2、第三方库 PinYin4Objc

NSString *sourceText=@"我是汉字";HanyuPinyinOutputFormat *outputFormat=[[HanyuPinyinOutputFormat alloc] init];[outputFormat setToneType:ToneTypeWithoutTone];[outputFormat setVCharType:VCharTypeWithV];[outputFormat setCaseType:CaseTypeLowercase];    [PinyinHelper toHanyuPinyinStringWithNSString:sourceText withHanyuPinyinOutputFormat:outputFormat withNSString:@" " outputBlock:^(NSString *pinYin) {_outputTv.text=pinYin; //update ui}];

3、按照拼音排序

上面的方法都是用来将汉字转成拼音的,如果需要按照汉字的拼音排序的话,可以按照上面转换之后的拼音排序即可。

但实际上,如果不需要转换之后的拼音的话,可以直接使用iOS系统提供的方法实现排序,最关键的方法为localizedCompare方法。

localizedCompare

具体说明可以参考 iOS数组按中文关键字以字母序排序

参考链接:

iOS数组按中文关键字以字母序排序

iOS汉字转拼音第三方库

iOS-使用CFStringTransform将汉字转换为拼音

iOS汉语转拼音以及按照拼音排序相关推荐

  1. iOS/Mac OS X 汉字转拼音

    作者: ani_di 版权所有,转载务必保留此链接 http://blog.csdn.net/ani_di iOS/Mac OS X 汉字转拼音 网络流行的汉字转拼音方案是带一个拼音码表,速度快.其实 ...

  2. php 汉字按字母排序,在PHP中,将一个汉字数组按照拼音首字母进行排序

    (之前发的这篇博文因为含有敏感关键字,只好重发一遍了) $str = "我们可以在浏览器中看到,当鼠标移到元素上时,元素开始向右移动,开始比较慢,之后则比较快,移开时按原曲线回到原点.&qu ...

  3. 18将中文按照拼音的顺序进行排序

    1.设立一个需要排序的表 2.使用for循环将列表里的汉字转换为拼音 3.将拼音的首字母排序(按照英文字母的顺序) 4.for循环将排序好的文字添加到列表里 5.print()输出 代码: from ...

  4. SQL Server根据汉字笔划和取得拼音首字母进行排序

    做房产网站,已经有了小区模板表,将小区的名称一律输入数据表中供登记用户进行选择.发现一个排序的问题:小区名称加载至下拉列表中时默认只是按照主键进行了升序排序,无任何规律,名称找起来非常麻烦.如何按小区 ...

  5. PHP利用ICU扩展intl快速实现汉字转拼音以及按拼音首字母分组排序

    ICU(International Components for Unicode)里提供了transliterator(直译器), 可以很方便把其他语言(比如简体中文)转为拉丁文表示: http:// ...

  6. Java获取名字首字母拼音并按名字拼音分组工具类

    1. maven <dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j< ...

  7. oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)

    oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等) oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下 1.获得全拼 SELECT GETHZPY.GETHZFULLPY( ...

  8. JS实现获取汉字首字母拼音、全拼音及混拼音的方法

    本文实例讲述了JS实现获取汉字首字母拼音.全拼音及混拼音的方法.分享给大家供大家参考,具体如下: 这里需要用到一个js获取汉字拼音的插件,可点击此处本站下载. 运行效果如下: 完整示例代码: ? 1 ...

  9. Java 中文转拼音/汉字转拼音, 中文转五笔/汉字转五笔, 下载字典!

    Java 中文转拼音/汉字转拼音, 中文转五笔/汉字转五笔, 下载字典! 源码 CharacterElement.java 源码 Dict.java 输出拼音 输出五笔 输出全部 字典下载地址 源码 ...

  10. python 加注拼音-Python之拼音拆分

    经常会需要用到将zhangwei转化为ZhangWei.Zw.Zhangw之类的,就涉及到一个拼音拆分算法,这里写了一个demo分享给大家 我的思路是先将声母转换为大写,然后就可以根据大写字母来分割单 ...

最新文章

  1. 在Java中,采用类的默认构造函数构造对象的方法!
  2. 【组合数学】指数型母函数 应用 ( 多重集排列问题 | 不同球放在不同盒子里 | 奇/偶数序列的指数生成函数推导 )
  3. android 中的aidl
  4. vue 项目引用static目录资源_Vue2.0项目入门 — 静态资源目录src/assets和static/区别...
  5. 日常生活 -- 嵌入式面试
  6. 【转】网络编程常见问题总结
  7. java集合——数组列表(ArrayList)+散列集(HashSet)
  8. java mybatis 教程_(整理)MyBatis入门教程(一)
  9. synchronized与lock,哪个效率更高
  10. 16年10月计算机组成原理,福建师范大学16年8月课程考试《计算机组成原理》作业考核试题.doc...
  11. 计算机桌面壁纸希望,电脑励志的图片桌面壁纸
  12. 短信后台功能与通道路由模块客户通道选择短信平台开发|国际短信通道短信后台源码
  13. 移远M26,三分钟打通TCP流程,AT指令详解
  14. java的多态是什么意思_【Java】基础18:什么叫多态?
  15. Realm_King 之 XPDL(XML Process Definition Language)
  16. SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length关于edittext找不到输入值这个
  17. CTF网络安全大赛学习笔记1010
  18. python脱离pc自动化_Android手机脱离电脑直接运行UIAutomator2
  19. 网络安全实验室CTF—脚本关 writeup
  20. MySQL会成为21世纪的公司典范吗?(转)

热门文章

  1. 基于物理信息深度学习的交通状态估计:以LWR和CTM模型为例
  2. IDEA中文字体格式
  3. MAC电脑DNS劫持解决方法
  4. 定积分及其应用知识点总结_高中定积分知识点总结
  5. 1698无法登录mysql服务器_解决MySql ERROR 1698 (28000) 错误:Access denied for user 'root'@'localhost'...
  6. vue+element自动计算天数
  7. zabbix 4.2.3 server.conf
  8. 【读书分享】吴军:《信息传》
  9. 第三篇第二章室内外消防给水系统
  10. 亲测,2023年私藏的免费好用的磁力网盘资源搜索网站,找资源不用愁