iOS_CoreFoundation_汉字转换拼音的实现
来源:互联网 发布:windows server搭建nas 编辑:程序博客网 时间:2024/04/30 04:48
说明:
在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链接
0 0
- iOS_CoreFoundation_汉字转换拼音的实现
- 实现汉字到拼音的转换
- 简单实现汉字向拼音的转换
- asp汉字的拼音转换
- 汉字转换拼音的代码
- C#实现汉字转换为拼音缩写的代码
- C#实现汉字转换为拼音缩写的代码
- java中将汉字转换成拼音的实现代码
- C#实现汉字转换为拼音缩写的代码
- 如何实现拼音与汉字的互相转换
- Java实现汉字转换为拼音
- Java实现汉字转换为拼音
- Java实现汉字转换为拼音
- Java实现汉字转换为拼音
- Java实现汉字转换为拼音
- .net/C# 实现汉字到拼音转换
- Java实现汉字转换为拼音
- J2EE 使用pinyin4j实现汉字转换拼音
- Oracle使用row_number()函数查询时增加序号列
- UITabBarController用法
- HDU 3081 并查集 二分枚举 最大流
- 64位centos6.7安装mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz
- spring mvc @PathVariable绑定URI模板变量值
- iOS_CoreFoundation_汉字转换拼音的实现
- 代理商户的增删改查
- naive-bayesian-朴素贝叶斯
- android edittext把光标显示在最后
- Kafka背景及架构介绍
- security3中用户登录成功后的处理
- JAVA用Socket模拟HTTP文件上传
- 用树莓派来操控一个四位数码管
- android在Service,BroadCast onReceiver()中弹出Dialog对话框