打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
iOS 使用CFStringTransform汉字转拼音
CFStringTransform
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也可适用于非汉字字符串)
//    获取汉语拼音   NSString *str = @"曾经 hello";
NSMutableString *pinyin = [str mutableCopy];
//创建CFStrCFMutableStringRef string = CFStringCreateMutableCopy(NULL, 0, CFSTR("中国"));
//转换成拼音
CFStringTransform((__bridgeCFMutableStringRef)pinyin, NULL,kCFStringTransformMandarinLatin, NO);
//去掉音标
//    CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL, kCFStringTransformStripDiacritics, NO);
NSLog(@"pinyin= %@",pinyin);
对应的转换格式:
TransformationInputOutput
kCFStringTransformLatinArabicmr?b??????
kCFStringTransformLatinCyrillicprivetпривет
kCFStringTransformLatinGreekgeiá souγει? σου
kCFStringTransformLatinHangulannyeonghaseyo?????
kCFStringTransformLatinHebrew?lwm????
kCFStringTransformLatinHiraganahiraganaひらがな
kCFStringTransformLatinKatakanakatakanaカタカナ
kCFStringTransformLatinThais?w?s?dī??????
kCFStringTransformHiraganaKatakanaにほんごニホンゴ
kCFStringTransformMandarinLatin中文zhōng wén
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
两个汉字转换为拼音的JavaScript库的比较
Excel中将汉字转化为拼音(完整拼音)版 - weiwei的日志 - 网易博客
EXCEL中怎么把汉字变成拼音,并取拼音的第一个大写字母
WordPress拼音链接插件:Pinyin Permalink(中文链接转拼音) | WordPress大学
零代码编程:用ChatGPT给汉字自动批量加上拼音
excel汉字拼音首字母的提取方法和完整代码介绍
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服