游戏技术文章

中文转拼音without CJK

时间:2017-2-7 12:57:08  作者:棋牌资源网  来源:棋牌资源网  查看:7758  评论:0
内容摘要:Xamarin写Android程序时,通常要使用按中文首字母分组显示(如通讯录) 。于是需要被迫包含CJK,不过包含后包肯定是会变大的,于是。。。。自己写了一个硬枚举的中文转拼音的类。原理是这样的:public class PinYinUtils{ private stat...
Xamarin写Android程序时,通常要使用按中文首字母分组显示(如通讯录) 。

于是需要被迫包含CJK,不过包含后包肯定是会变大的,于是。。。。自己写了一个枚举的中文转拼音的类。

原理是这样的:

复制代码
public class PinYinUtils
{
    private static readonly Dictionary<string, string> PinYinDict = new Dictionary<string, string>
    {

        {"", "YUAN"}
        // 等............
    };
    /// <summary>
    /// Return to the first letter
    /// </summary>
    /// <param name="word">Chinese word</param>
    /// <example>
    /// GetFirstPinyinChar("张三")
    /// will return "Z"
    /// Can be used for address book index and so on
    /// </example>
    /// <returns></returns>
    public static string GetFirstPinyinChar(string word)
    {
        if (word.Length == 0) return "#";
        var firstLetter = word[0].ToString();
        if (PinYinDict.ContainsKey(firstLetter))
        {
            return PinYinDict[firstLetter];
        }
        return firstLetter;
    }
    /// <summary>
    /// return the chinese char's pinyin
    /// </summary>
    /// <param name="chineseChar"></param>
    /// <example>
    /// GetPinYin('福')
    /// will return "FU"
    /// </example>
    /// <returns></returns>
    public static string GetPinYin(char chineseChar)
    {
        var str = chineseChar.ToString();
        if (PinYinDict.ContainsKey(str))
        {
            return PinYinDict[str];
        }
        return null;
    }
    /// <summary>
    /// Get the phonetic abbreviation for Chinese char
    /// </summary>
    /// <param name="chineseChar"></param>
    /// <example>
    /// GetShortPinYin('福')
    /// will return "F"
    /// </example>
    /// <returns></returns>
    public static string GetShortPinYin(char chineseChar)
    {
        var str = chineseChar.ToString();
        if (PinYinDict.ContainsKey(str))
        {
            var first = PinYinDict[str].FirstOrDefault();
            if (first == 0) return null;
            return first.ToString();
        }
        return null;
    }

}
复制代码

 

源码:

https://github.com/chsword/PinYinUtil/blob/master/PinYinUtils.cs

 

GITHUB:https://github.com/chsword/PinYinUtil

标签:中文转拼音withoutCJK 

欢迎加入VIP,【VIP售价:只要288元永久VIP会员】畅享商业棋牌游戏程序下载,点击开通!

下载说明


☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,

☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!

☉唯一站长QQ:1004003180  [人格担保-本站注重诚信!]

☉购买建议E-mail:1004003180@qq.com   源码收购 E-mail:1004003180@qq.com    

☉本站文件解压密码  【文章内都自带解压密码,每个密码不同!】


本站提供的所有源码,均来源站长提供,仅学习交流 浙ICP备09009969号

由此产生不良后果和法律责任与本站无关,如果侵犯了您的版权,请来信告知 1004003180@qq.com 将及时更正和删除! 

Copyright © 2008-2024 棋牌资源网,你身边的棋牌资源下载站    All Rights Reserved