ios汉字转拼音,支持多音节

1 + NSString *)transform:NSString *)chinese
2 {
3     NSMutableString *pinyin = [chinese mutableCopy];
4     CFStringTransform__bridge CFMutableStringRef)pinyin, NULL, kCFStringTransformMandarinLatin, NO);
5     CFStringTransform__bridge CFMutableStringRef)pinyin, NULL, kCFStringTransformStripCombiningMarks, NO);
6     NSLog@"%@", pinyin);
7     return [pinyin uppercaseString];
8 }

kCFStringTransformMandarinLatin方法转化出来的是带音标的拼音,如果需要去掉音标,则继续使用kCFStringTransformStripCombiningMarks方法即可。
但是这种方式性能可能会比较差。推荐使用第三方的使用 -------------->>试试这个第三方:https://github.com/kimziv/PinYin4Objc,支持多音字


下面自己做小Demo,可以 参考下面代码
NSString *sourceText=@"我爱中文";
  HanyuPinyinOutputFormat *outputFormat=[[HanyuPinyinOutputFormat alloc] init];
  [outputFormat setToneType:ToneTypeWithoutTone];
  [outputFormat setVCharType:VCharTypeWithV];
  [outputFormat setCaseType:CaseTypeLowercase];    
  [PinyinHelper toHanyuPinyinStringWithNSString:sourceText 
                     withHanyuPinyinOutputFormat:outputFormat 
                                     withNSString:@" " 
                                     outputBlock:^NSString *pinYin) {
      _outputTv.text=pinYin; //update ui

   }];
 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注