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 **** ...
最新文章
- 陪伴程序员的一条龙、一骑士 36 岁了!
- 你真的会用Android的Dialog吗?由一个Exception想到的
- 连接查询中where子句的执行
- 最全面的百度地图JavaScript离线版开发
- CS193P学习笔记(一)
- iptables防火墙详解
- javas的四种状态 无锁状态 偏向锁状态 轻量级锁状态 重量级锁状态
- jdbcTemplate快速入门
- Android软件测试Monkey测试工具
- 实现Trie(前缀树)
- JAVA高端编程研发培训班 JAVA开发视频教程
- SPSS-Modeler安装
- 信息安全等级保护 实施方案
- 被退回的劳务派遣工需要支付补偿金吗?
- html5 文字转换烟花,用HTML5制作烟火效果的教程
- 为Debian解决Mercury MW150US无线网卡驱动
- Cobalt Strike详细使用教程
- 数据挖掘分析考试笔记
- 苹果在天猫新开旗舰店,狙击小程序还是为拿下中国市场?
- 嵌入式2.4内核上驱动USB无线网卡