CFStringTransform
来源:互联网 发布:悲伤的网络歌曲 男歌手 编辑:程序博客网 时间:2024/05/29 14:14
iOS在CoreFoundation中提供了CFStringTransform函数,但在Foundation中却没有相对应的方法。它的定义如下:
Boolean CFStringTransform(CFMutableStringRef string, CFRange *range, CFStringRef transform, Boolean reverse);
其中string
参数是要转换的string,比如要转换的中文,同时它是mutable的,因此也直接作为最终转换后的字符串。range
是要转换的范围,同时输出转换后改变的范围,如果为NULL,视为全部转换。transform
可以指定要进行什么样的转换,这里可以指定多种语言的拼写转换。reverse
指定该转换是否必须是可逆向转换的。如果转换成功就返回true
,否则返回false
。
如果要进行汉字到拼音的转换,我们只需要将transform
设定为kCFStringTransformMandarinLatin
或者kCFStringTransformToLatin
(kCFStringTransformToLatin
也可适用于非汉字字符串):
CFMutableStringRef string = CFStringCreateMutableCopy(NULL, 0, CFSTR("中国"));CFStringTransform(string, NULL, kCFStringTransformMandarinLatin, NO);NSLog(@"%@", string);
这段代码将输出:
2013-11-22 14:41:14.644 Test[2436:907] zhōng guó
可以看出,CFStringTransform
正确的输出了“中国”的拼音,而且还带上了音标。有时候我们不需要音标怎么办?还好CFStringTransform
同时提供了将音标字母转换为普通字母的方法kCFStringTransformStripDiacritics
。我们在上面的代码基础上再加上这个:
CFStringTransform(string, NULL, kCFStringTransformStripDiacritics, NO);NSLog(@"%@", string);
那么最终将输出:
2013-11-22 14:47:00.380 Test[2470:907] zhong guo
0 0
- CFStringTransform
- CFStringTransform
- 使用CFStringTransform将汉字转换为拼音
- 使用CFStringTransform将汉字转换为拼音
- iOS 使用CFStringTransform汉字转拼音
- 使用CFStringTransform将汉字转换为拼音
- 使用CFStringTransform 将汉字转换为拼音
- 使用CFStringTransform 将汉字转换为拼音
- 使用CFStringTransform将汉字转换为拼音
- 使用CFStringTransform将汉字转换为拼音
- ios 使用CFStringTransform将汉字转为拼音
- 使用CFStringTransform 将汉字转换为拼音
- 使用CFStringTransform将汉字转换为拼音
- iOS 获取汉字的拼音 CFStringTransform
- 使用CFStringTransform将汉字转换为拼音
- 使用CFStringTransform将汉字转成拼音,非常耗时!
- 使用CFStringTransform方便的进行中文名字的排序
- 使用CFStringTransform方便的进行中文名字的排序
- BZOJ 3564 SHOI 2014 信号增幅仪 坐标变换+最小圆覆盖
- Maven Dependencies下引入的某一个jar包显示成文件夹
- C# 编程中的反射机制与方法
- POJ2769 Reduced ID Numbers
- WebCollector入门教程(中文版)
- CFStringTransform
- 酒类行业数据分析
- Hello, Cocos2d-x
- 高效 Java Web 开发框架 JessMA v3.5.1 正式发布
- java死锁实例
- Lucene和Solr的区别
- django 1.7 获得当前时区时间
- 安卓巴士Android开发神贴整理
- 添加.pch文件