iOS汉字转拼音

1.核心方法

CFStringTransform(<#CFMutableStringRef string#>, <#CFRange *range#>, <#CFStringRef transform#>, <#Boolean reverse#>)
  • 参数一*:
    需要传入CFMutableStringRef类型的字符串, 这个字符串就是这里的主角, 想转成拼音形式的汉字.
  • 参数二*:
    一个范围, 控制想输出拼音的范围, 如果填上NULL就是指全部输出.
  • 参数三*:
    一个CFStringRef类型的transform, 也就是转换形式, 有不同种转换形式, 按照自己的需求来进行选择.
  • 参数四*:
    一个Boolean类型, 指定该转换是否进行逆向转换。

2.使用


- (NSString *)changeLanguage:(NSString *)string{
    
//    CFMutableStringRef mutableString = CFStringCreateMutableCopy(NULL, 0, CFSTR("中文"));
    
    NSMutableString *mutableString = [NSMutableString stringWithString:string];
    
    if (CFStringTransform((CFMutableStringRef)mutableString, NULL, kCFStringTransformMandarinLatin, NO)) {
        // 去掉声调符号
        CFStringTransform((CFMutableStringRef)mutableString, NULL, kCFStringTransformStripDiacritics, NO);
        // 这里面参数三也可以选 kCFStringTransformStripCombiningMarks 指去掉重音和变音符
        
        return mutableString;
    }else{
        return @"转换失败";
    }
}

你可能感兴趣的:(iOS汉字转拼音)