iOS_将中文转换为拼音

使用CFStringTransform

  • CFStringTransform(<#CFMutableStringRef string#>, <#CFRange *range#>, <#CFStringRef transform#>, <#Boolean reverse#>)
  1. CFMuntbleStringRef string 将要传进来这个类型的字符串 (同时也是一个可变的字符串)

  2. CFRange 输出的范围,如果为NULL就是全部输出;

  3. transfrom 是语言转换的类型KCF就能索引出来;

  4. Boolean 指定该转换是否必须是可逆向转换的。如果转换成功就返回true,否则返回false。选择NO;

  • 例子
1. 首先我们要创建一个字符串
  - 创建一个CFMutableStringRef类型
     CFMutableStringRef string = CFStringCreateMutableCopy(NULL, 0, CFSTR("中国"));
  - 创建一个NSMutableString类型
     NSMutableString *string = [NSMutableString stringWithString:@"中国"]; 
 - 以上两种创建方式选任选其一
2. 调用CFStringTransform方法
    CFStringTransform((CFMutableStringRef)string, NULL, kCFStringTransformMandarinLatin, NO);
  - 国语要选拉丁文
  - 返回值是带有声调的拼音
  - 脱掉附加符号
    CFStringTransform(string, NULL, kCFStringTransformStripDiacritics, NO);
    //通过两次转换,把(发音符号)音标去掉
    NSString *capitalString = [string capitalizedString];
    //首字母大写, 方法返回的是一个新的字符串
    NSString *singleLetter = [capitalString subStringToIndex:1];
    //字符串从下标1开始全干掉,留一个!!!

你可能感兴趣的:(iOS_将中文转换为拼音)