变更记录

序号 录入时间 录入人 备注
1 2015-03-26 Alfred Jiang -
2 2015-12-23 Alfred Jiang -

方案名称

NSString - 汉字转为拼音显示的实现

关键字

NSString \ 汉字 \ 拼音 \ 转换

需求场景

  1. 需要将汉字转为英文拼音的场景

参考链接

  1. Code4App - 汉字转拼音
  2. GitHub - ChineseToPinYin
  3. GitHub - POAPinyin

详细内容

通过使用苹果类库 CFStringTransform 提供的方法实现汉字转拼音。通过 kCFStringTransformMandarinLatin 把汉字转换为中国拼音。通过 kCFStringTransformStripDiacritics 把中国拼音转换为英文字母。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
- (NSString *)hanziToPinyin:(NSString *)aHanZi
{
NSString *strResult = @"";

if ([aHanZi length]) {
NSMutableString *ms = [[NSMutableString alloc] initWithString:hanziText.text];
if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformMandarinLatin, NO)) {
NSLog(@"pinyin: %@", ms);
}
if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformStripDiacritics, NO)) {
NSLog(@"pinyin: %@", ms);
}
strResult = [ms copy];
}

return strResult;
}

效果图

(无)

备注

(无)