美文网首页OC基础
iOS汉字转拼音的方法

iOS汉字转拼音的方法

作者: 奋斗的蜗牛 | 来源:发表于2016-03-28 11:47 被阅读793次

    网络流行的汉字转拼音方案是带一个拼音码表,速度快。其实Core Foundation也提供了一种方案,而且还带声调!

    NSMutableString *ms = [[NSMutableString alloc] initWithString:@"我是中国人"];
    if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformMandarinLatin, NO)) {
        NSLog(@"Pingying: %@", ms); // wǒ shì zhōng guó rén
    }
    if (CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformStripDiacritics, NO)) {
        NSLog(@"Pingying: %@", ms); // wo shi zhong guo ren
    }
    

    有兴趣的可以试一试,这个函数不仅支持中文,日文韩文等都没问题,很强大。

    也可以通过上述方法算出首个汉字的大写字母(这个感觉挺有用)

    //获取拼音首字母(传入汉字字符串, 返回大写拼音首字母)
    - (NSString *)firstCharactor:(NSString *)aString
    {
        //转成了可变字符串
        NSMutableString *str = [NSMutableString stringWithString:aString];
        //先转换为带声调的拼音
        CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransformMandarinLatin,NO);
        //再转换为不带声调的拼音
        CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransformStripDiacritics,NO);
        //转化为大写拼音
        NSString *pinYin = [str capitalizedString];
        //获取并返回首字母
        return [pinYin substringToIndex:1];
    }
    

    相关文章

      网友评论

      本文标题:iOS汉字转拼音的方法

      本文链接:https://www.haomeiwen.com/subject/idujlttx.html