使用CFStringTransform將漢字轉換爲拼音

/*  Boolean CFStringTransform(CFMutableStringRef string, CFRange *range, CFStringRef transform, Boolean reverse);    其中string參數是要轉換的string,好比要轉換的中文,同時它是mutable的,所以也直接做爲最終轉換後的字符串。range是要轉換的範圍,同時輸出轉換後改變的範圍,若是爲NULL,視爲所有轉換。transform能夠指定要進行什麼樣的轉換,這裏能夠指定多種語言的拼寫轉換。reverse指定該轉換是否必須是可逆向轉換的。若是轉換成功就返回true,不然返回false。  */ - (NSString *)transform:(NSString *)chiness {     NSMutableString *pinyin = [chiness mutableCopy];          //將漢字轉換成帶音標的拼音     CFStringTransform((__bridge CFMutableStringRef) pinyin, NULL, kCFStringTransformMandarinLatin, NO);     NSLog(@"%@",pinyin);          //將音標字母轉換爲普通字母     CFStringTransform((__bridge CFMutableStringRef) pinyin, NULL, kCFStringTransformStripCombiningMarks, NO);     NSLog(@"%@",pinyin);               //若是有多音字,須要本身手動改     //以下     if ([[(NSString *)pinyin substringToIndex:1] compare:@"重"] == NSOrderedSame)     {         [pinyin replaceCharactersInRange:NSMakeRange(0, 5) withString:@"chong"];     }          return pinyin; }
相關文章
相關標籤/搜索