华山论剑之iOS中文转化为拼音的正确姿势

问题缘由:在程序开发当中,我们可能遇到需要将中文转化为拼音的情况,其实主要是做类似于通讯录功能的时候会出现这种情况,iOS在CoreFoundation中提供了CFStringTransform函数,我们可以直接调用其中的函数:

CFStringTransform(CFMutableStringRef string, CFRange *range, CFStringRef transform, Boolean reverse);
代码说明,方法中使用的字符串为可变字符串; 当我们第一次调用上面的函数的时候生成拼音是有音标的,但是当我们对生成的带有音标的拼音再次调用函数这一次生成的则是没有音标的拼音,需要什么类型的,自己对应的改变一下就好.
NSString *hanziText = @"神经骚栋";  
if ([hanziText length]) {  

    NSMutableString *ms = [[NSMutableString alloc] initWithString:hanziText];  

    if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformMandarinLatin, NO)) {  
        NSLog(@"pinyin: %@", ms);  
    }  

    if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformStripDiacritics, NO)) {  
        NSLog(@"pinyin: %@", ms);  
    }  
} 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容