iOS_CoreFoundation_汉字转换拼音的实现
说明:
在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_汉字转换拼音的实现相关推荐
- 昵称到拼音php,php 汉字转换拼音程序_PHP教程
php 汉字转换拼音程序 $p=ord(substr($str,$i,1)); if($p>160){ $q=ord(substr($str,++$i,1)); $p=$p*256+$q-655 ...
- php汉字转换拼音,PHP汉字转换拼音的函数代码
/************ *汉字转换拼音Class *************/ class pin{ function Pinyin($_String, $_Code='gb2312'){ $_D ...
- php 汉字转拼音类,PHP汉字转换拼音的类_php
网络上类似的代码大多只能在gb2312编码下使用,下面这个类同时能在utf-8编码下将汉字转换为拼音,具体的代码和用法如下: function Pinyin($_String, $_Code='gb2 ...
- Java汉字转换拼音工具类
1. 使用pinyin4j 1.1 引入相关maven依赖 <dependency><groupId>com.belerweb</groupId><artif ...
- 中文汉字转换拼音PHP类
1 <?php 2 /** 3 * 中文汉字转换拼音类 4 * 功能支持 5 * 1.支持中文转换全拼 6 * 2.支持中文转换简拼(首字母) 7 * 3.支持转换的字符串返回格式设置(字符中间 ...
- java汉字转换拼音
1.汉字转换拼音首先引入一个叫pinyin4j-2.5.0.jar 下载地址:http://download.csdn.net/detail/yao__shun__yu/4670228 2.测试代码 ...
- 汉字转换拼音字头原理实践
今天照常登陆php新闻网站,看到首页的一则文字类的新闻,汉字转换拼音字头原理,闲来无事,用php实践下,把它写出来 /** * 汉字转换为拼音字头 * @author jkj */ class HzT ...
- java 汉字转换拼音
java 汉字转换拼音 maven依赖 <dependency><groupId>com.belerweb</groupId><artifactId>p ...
- php汉字转换拼音,PHP汉字转换拼音
搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. /************ *汉字转换拼音Class *2012.12 **** ...
最新文章
- php调用txt接口,PHP 如何更优雅地调用 API 接口
- 云计算学习(4-1)虚拟化技术
- phoenix 3.1 + hbase 0.94.21 的安装和使用
- 小阳买水果(前缀和,单调栈,思维)
- java关键字和标识符_Java数据类型和标识符
- modbus RTU协议设备使用无线代替有线注意事项
- pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org',
- 罗永浩最期待的游戏要来了 《Party Animals》10月上线
- 金蝶kis云,调用增删改查注意点
- CodeForces #549 Div.2 ELynyrd Skynyrd 倍增算法
- docker 拷贝镜像文件
- java calendar获取年_Java Calendar获取年、月、日、时间,设置年、月、日
- All Reduce算法汇总
- 牛腩学ASP.NET CORE做博客(视频)
- php源码 辅助发卡_【程序源码】PHP自动化售货发卡网源码
- Windows Server 2012和2016从Evaluation评估版升级到正式版方法(附带产品密钥/key)
- 【DZS-12CE/S DC220V型直流回路监视继电器】
- 跟着Code走,详解Symbian Client/Server架构
- 科大讯飞 java Web api语音生成和语音识别参考
- error: ‘path_wts’ does not name a type