说明:
在Object-C中可以很容易的实现非拉丁字符的转化, 如汉字转换成拼音.
主要涉及到Core Function框架中的CFMutableString Reference相关函数

核心API

库: CoreFoundation
API: CFStringTransform
涉及API:

Boolean CFStringTransform ( CFMutableStringRef string, CFRange *range, CFStringRef transform, Boolean reverse );

代码

- (IBAction)handleAction:(id)sender {/** 要转换的汉字 */NSMutableString *str = @"北京".mutableCopy;/** 通过函数进行转换* @param string 要转换的字符串, 注意是类型是 CFMutableStringRef* @param range 转换的范围, NULL值表示转换整个字符串
     * @param transform 转换的选项(是个枚举值, kCFStringTransformMandarinLatin是将汉字转化为拼音)* @param reverse 是否反转.**/if (CFStringTransform((__bridge CFMutableStringRef)str, NULL, kCFStringTransformMandarinLatin, NO)) {NSLog(@"转换成功");NSLog(@"%@", str);} else {NSLog(@"转换失败");}/** 通过上面的方法,转换的汉语拼音带有声调, 如果取消声调, 可以通过转换函数的其它transform选项 */if (CFStringTransform((__bridge CFMutableStringRef)str , NULL, kCFStringTransformMandarinLatin, NO)) {/** 取消声调 */if (CFStringTransform((__bridge CFMutableStringRef)str , NULL, kCFStringTransformStripDiacritics, NO)) {NSLog(@"转换成功");NSLog(@"取消声调的拼音: %@", str);} else {NSLog(@"取消声调失败");}}  else {NSLog(@"转换汉字失败");}}/** 转换函数的可转换的选项 Transform Identifiers for CFStringTransform const CFStringRef kCFStringTransformStripCombiningMarks;const CFStringRef kCFStringTransformToLatin;               ** 也可以转换为汉字const CFStringRef kCFStringTransformFullwidthHalfwidth;const CFStringRef kCFStringTransformLatinKatakana;const CFStringRef kCFStringTransformLatinHiragana;const CFStringRef kCFStringTransformHiraganaKatakana;const CFStringRef kCFStringTransformMandarinLatin;         ** 转换为汉字const CFStringRef kCFStringTransformLatinHangul;const CFStringRef kCFStringTransformLatinArabic;const CFStringRef kCFStringTransformLatinHebrew;const CFStringRef kCFStringTransformLatinThai;const CFStringRef kCFStringTransformLatinCyrillic;const CFStringRef kCFStringTransformLatinGreek;const CFStringRef kCFStringTransformToXMLHex;const CFStringRef kCFStringTransformToUnicodeName;const CFStringRef kCFStringTransformStripDiacritics;       ** 取消声调符号*/

Demo 代码中有一个NSString的类目, 实现将首个汉字转换为拼音, 并实现大写.

Demo的GitHub链接

iOS_CoreFoundation_汉字转换拼音的实现相关推荐

  1. 昵称到拼音php,php 汉字转换拼音程序_PHP教程

    php 汉字转换拼音程序 $p=ord(substr($str,$i,1)); if($p>160){ $q=ord(substr($str,++$i,1)); $p=$p*256+$q-655 ...

  2. php汉字转换拼音,PHP汉字转换拼音的函数代码

    /************ *汉字转换拼音Class *************/ class pin{ function Pinyin($_String, $_Code='gb2312'){ $_D ...

  3. php 汉字转拼音类,PHP汉字转换拼音的类_php

    网络上类似的代码大多只能在gb2312编码下使用,下面这个类同时能在utf-8编码下将汉字转换为拼音,具体的代码和用法如下: function Pinyin($_String, $_Code='gb2 ...

  4. Java汉字转换拼音工具类

    1. 使用pinyin4j 1.1 引入相关maven依赖 <dependency><groupId>com.belerweb</groupId><artif ...

  5. 中文汉字转换拼音PHP类

    1 <?php 2 /** 3 * 中文汉字转换拼音类 4 * 功能支持 5 * 1.支持中文转换全拼 6 * 2.支持中文转换简拼(首字母) 7 * 3.支持转换的字符串返回格式设置(字符中间 ...

  6. java汉字转换拼音

    1.汉字转换拼音首先引入一个叫pinyin4j-2.5.0.jar 下载地址:http://download.csdn.net/detail/yao__shun__yu/4670228 2.测试代码 ...

  7. 汉字转换拼音字头原理实践

    今天照常登陆php新闻网站,看到首页的一则文字类的新闻,汉字转换拼音字头原理,闲来无事,用php实践下,把它写出来 /** * 汉字转换为拼音字头 * @author jkj */ class HzT ...

  8. java 汉字转换拼音

    java 汉字转换拼音 maven依赖 <dependency><groupId>com.belerweb</groupId><artifactId>p ...

  9. php汉字转换拼音,PHP汉字转换拼音

    搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. /************ *汉字转换拼音Class *2012.12 **** ...

最新文章

  1. php调用txt接口,PHP 如何更优雅地调用 API 接口
  2. 云计算学习(4-1)虚拟化技术
  3. phoenix 3.1 + hbase 0.94.21 的安装和使用
  4. 小阳买水果(前缀和,单调栈,思维)
  5. java关键字和标识符_Java数据类型和标识符
  6. modbus RTU协议设备使用无线代替有线注意事项
  7. pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org',
  8. 罗永浩最期待的游戏要来了 《Party Animals》10月上线
  9. 金蝶kis云,调用增删改查注意点
  10. CodeForces #549 Div.2 ELynyrd Skynyrd 倍增算法
  11. docker 拷贝镜像文件
  12. java calendar获取年_Java Calendar获取年、月、日、时间,设置年、月、日
  13. All Reduce算法汇总
  14. 牛腩学ASP.NET CORE做博客(视频)
  15. php源码 辅助发卡_【程序源码】PHP自动化售货发卡网源码
  16. Windows Server 2012和2016从Evaluation评估版升级到正式版方法(附带产品密钥/key)
  17. 【DZS-12CE/S DC220V型直流回路监视继电器】
  18. 跟着Code走,详解Symbian Client/Server架构
  19. 科大讯飞 java Web api语音生成和语音识别参考
  20. error: ‘path_wts’ does not name a type

热门文章

  1. 【NLP】文本匹配相关方向打卡点总结
  2. 使用jQuery实现学生期末成绩录入
  3. 北京的医院排名~~~收藏
  4. CentOS Cpu性能优化
  5. 全闪SDS之数据库加速解决方案
  6. java导出doc和docx
  7. ORA-00001: 违反唯一约束条件 的解决办法
  8. 铜板街“行稳致远”的背后逻辑 | 一点财经
  9. 【微信小程序AR】基于Kivicube零代码实现微信小程序AR
  10. Hexo+yilia博客添加背景音乐