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

   }];

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM