• ●获取汉字全拼


            #region 汉字转拼音静态类,包括功能全拼和缩写,方法全部是静态的
            //属性数据定义
            private static readonly Dictionary<int, string> CodeCollections = new Dictionary<int, string> {
                {-20319,"a"},{-20317,"ai"},{-20304,"an"},{-20295,"ang"},{-20292,"ao"},{-20283,"ba"},{-20265,"bai"},
                {-20257,"ban"},{-20242,"bang"},{-20230,"bao"},{-20051,"bei"},{-20036,"ben"},{-20032,"beng"},{-20026,"bi"},
                {-20002,"bian"},{-19990,"biao"},{-19986,"bie"},{-19982,"bin"},{-19976,"bing"},{-19805,"bo"},{-19784,"bu"},
                {-19775,"ca"},{-19774,"cai"},{-19763,"can"},{-19756,"cang"},{-19751,"cao"},{-19746,"ce"}, {-19741,"ceng"},
                {-19739,"cha"},{-19728,"chai"},{-19725,"chan"},{-19715,"chang"},{-19540,"chao"},{-19531,"che"},
                {-19525,"chen"},{-19515,"cheng"},{-19500,"chi"},{-19484,"chong"},{-19479,"chou"},{-19467,"chu"},
                {-19289,"chuai"},{-19288,"chuan"},{-19281,"chuang"},{-19275,"chui"},{-19270,"chun"}, {-19263,"chuo"},
                {-19261,"ci"},{-19249,"cong"},{-19243,"cou"},{-19242,"cu"},{-19238,"cuan"},{-19235,"cui"},{-19227,"cun"},
                {-19224,"cuo"},{-19218,"da"},{-19212,"dai"},{-19038,"dan"},{-19023,"dang"}, {-19018,"dao"},{-19006,"de"},
                {-19003,"deng"},{-18996,"di"},{-18977,"dian"},{-18961,"diao"},{-18952,"die"},{-18783,"ding"},{-18774,"diu"},
                {-18773,"dong"},{-18763,"dou"},{-18756,"du"},{-18741,"duan"},{-18735,"dui"},{-18731,"dun"},{-18722,"duo"},
                {-18710,"e"},{-18697,"en"},{-18696,"er"},{-18526,"fa"}, {-18518,"fan"},{-18501,"fang"},{-18490,"fei"},
                {-18478,"fen"},{-18463,"feng"},{-18448,"fo"},{-18447,"fou"},{-18446,"fu"},{-18239,"ga"},{-18237,"gai"},
                {-18231,"gan"},{-18220,"gang"},{-18211,"gao"},{-18201,"ge"}, {-18184,"gei"},{-18183,"gen"},{-18181,"geng"},
                {-18012,"gong"},{-17997,"gou"},{-17988,"gu"},{-17970,"gua"},{-17964,"guai"},{-17961,"guan"},{-17950,"guang"},
                {-17947,"gui"},{-17931,"gun"},{-17928,"guo"},{-17922,"ha"},{-17759,"hai"},{-17752,"han"},{-17733,"hang"},
                {-17730,"hao"},{-17721,"he"},{-17703,"hei"}, {-17701,"hen"},{-17697,"heng"},{-17692,"hong"},{-17683,"hou"},
                {-17676,"hu"},{-17496,"hua"},{-17487,"huai"},{-17482,"huan"},{-17468,"huang"},{-17454,"hui"},{-17433,"hun"},
                {-17427,"huo"},{-17417,"ji"},{-17202,"jia"},{-17185,"jian"},{-16983,"jiang"},{-16970,"jiao"},{-16942,"jie"},
                {-16915,"jin"},{-16733,"jing"},{-16708,"jiong"},{-16706,"jiu"},{-16689,"ju"},{-16664,"juan"},{-16657,"jue"},
                {-16647,"jun"},{-16474,"ka"},{-16470,"kai"},{-16465,"kan"},{-16459,"kang"},{-16452,"kao"}, {-16448,"ke"},
                {-16433,"ken"},{-16429,"keng"},{-16427,"kong"},{-16423,"kou"},{-16419,"ku"},{-16412,"kua"},{-16407,"kuai"},
                {-16403,"kuan"},{-16401,"kuang"},{-16393,"kui"},{-16220,"kun"},{-16216,"kuo"},{-16212,"la"},{-16205,"lai"},
                {-16202,"lan"},{-16187,"lang"},{-16180,"lao"},{-16171,"le"},{-16169,"lei"},{-16158,"leng"},{-16155,"li"},
                {-15959,"lia"},{-15958,"lian"},{-15944,"liang"},{-15933,"liao"},{-15920,"lie"},{-15915,"lin"},{-15903,"ling"},
                {-15889,"liu"},{-15878,"long"},{-15707,"lou"},{-15701,"lu"}, {-15681,"lv"},{-15667,"luan"},{-15661,"lue"},
                {-15659,"lun"},{-15652,"luo"},{-15640,"ma"},{-15631,"mai"}, {-15625,"man"},{-15454,"mang"},{-15448,"mao"},
                {-15436,"me"},{-15435,"mei"},{-15419,"men"},{-15416,"meng"},{-15408,"mi"},{-15394,"mian"},{-15385,"miao"},
                {-15377,"mie"},{-15375,"min"},{-15369,"ming"},{-15363,"miu"},{-15362,"mo"},{-15183,"mou"},{-15180,"mu"},
                {-15165,"na"},{-15158,"nai"},{-15153,"nan"},{-15150,"nang"},{-15149,"nao"},{-15144,"ne"},{-15143,"nei"},
                {-15141,"nen"},{-15140,"neng"},{-15139,"ni"},{-15128,"nian"},{-15121,"niang"},{-15119,"niao"},{-15117,"nie"},
                {-15110,"nin"},{-15109,"ning"},{-14941,"niu"},{-14937,"nong"},{-14933,"nu"},{-14930,"nv"},{-14929,"nuan"},
                {-14928,"nue"},{-14926,"nuo"},{-14922,"o"},{-14921,"ou"},{-14914,"pa"},{-14908,"pai"},{-14902,"pan"},
                {-14894,"pang"},{-14889,"pao"},{-14882,"pei"},{-14873,"pen"},{-14871,"peng"},{-14857,"pi"},{-14678,"pian"},
                {-14674,"piao"},{-14670,"pie"},{-14668,"pin"},{-14663,"ping"},{-14654,"po"},{-14645,"pu"},{-14630,"qi"},
                {-14594,"qia"},{-14429,"qian"},{-14407,"qiang"},{-14399,"qiao"},{-14384,"qie"},{-14379,"qin"}, {-14368,"qing"},
                {-14355,"qiong"},{-14353,"qiu"},{-14345,"qu"},{-14170,"quan"},{-14159,"que"},{-14151,"qun"},{-14149,"ran"},
                {-14145,"rang"},{-14140,"rao"},{-14137,"re"},{-14135,"ren"},{-14125,"reng"},{-14123,"ri"},{-14122,"rong"},
                {-14112,"rou"},{-14109,"ru"},{-14099,"ruan"},{-14097,"rui"},{-14094,"run"},{-14092,"ruo"},{-14090,"sa"},
                {-14087,"sai"},{-14083,"san"},{-13917,"sang"},{-13914,"sao"},{-13910,"se"},{-13907,"sen"},{-13906,"seng"},
                {-13905,"sha"},{-13896,"shai"},{-13894,"shan"},{-13878,"shang"},{-13870,"shao"},{-13859,"she"},{-13847,"shen"},
                {-13831,"sheng"},{-13658,"shi"},{-13611,"shou"},{-13601,"shu"},{-13406,"shua"},{-13404,"shuai"},{-13400,"shuan"},
                {-13398,"shuang"},{-13395,"shui"}, {-13391,"shun"},{-13387,"shuo"},{-13383,"si"},{-13367,"song"},{-13359,"sou"},
                {-13356,"su"},{-13343,"suan"},{-13340,"sui"},{-13329,"sun"},{-13326,"suo"},{-13318,"ta"},{-13147,"tai"},
                {-13138,"tan"},{-13120,"tang"},{-13107,"tao"},{-13096,"te"},{-13095,"teng"},{-13091,"ti"},{-13076,"tian"},
                {-13068,"tiao"},{-13063,"tie"},{-13060,"ting"},{-12888,"tong"},{-12875,"tou"},{-12871,"tu"},{-12860,"tuan"},
                {-12858,"tui"},{-12852,"tun"},{-12849,"tuo"},{-12838,"wa"},{-12831,"wai"},{-12829,"wan"},{-12812,"wang"},
                {-12802,"wei"},{-12607,"wen"},{-12597,"weng"},{-12594,"wo"},{-12585,"wu"},{-12556,"xi"},{-12359,"xia"},
                {-12346,"xian"},{-12320,"xiang"},{-12300,"xiao"},{-12120,"xie"},{-12099,"xin"},{-12089,"xing"},{-12074,"xiong"},
                {-12067,"xiu"},{-12058,"xu"},{-12039,"xuan"},{-11867,"xue"},{-11861,"xun"},{-11847,"ya"},{-11831,"yan"},
                {-11798,"yang"},{-11781,"yao"},{-11604,"ye"},{-11589,"yi"}, {-11536,"yin"},{-11358,"ying"},{-11340,"yo"},
                {-11339,"yong"},{-11324,"you"},{-11303,"yu"},{-11097,"yuan"},{-11077,"yue"},{-11067,"yun"},{-11055,"za"},
                {-11052,"zai"},{-11045,"zan"}, {-11041,"zang"},{-11038,"zao"},{-11024,"ze"},{-11020,"zei"},{-11019,"zen"},
                {-11018,"zeng"},{-11014,"zha"},{-10838,"zhai"},{-10832,"zhan"},{-10815,"zhang"},{-10800,"zhao"},{-10790,"zhe"},
                {-10780,"zhen"},{-10764,"zheng"},{-10587,"zhi"},{-10544,"zhong"},{-10533,"zhou"},{-10519,"zhu"},{-10331,"zhua"},
                {-10329,"zhuai"},{-10328,"zhuan"},{-10322,"zhuang"},{-10315,"zhui"},{-10309,"zhun"},{-10307,"zhuo"},{-10296,"zi"},
                {-10281,"zong"},{-10274,"zou"},{-10270,"zu"},{-10262,"zuan"},{-10260,"zui"},{-10256,"zun"},{-10254,"zuo"}};
    
    
            /// <summary> 
            /// 汉字转拼音 
            /// </summary> 
            /// <param name="txt"> 需要转换的汉字 </param> 
            /// <returns> 返回汉字对应的拼音 </returns> 
            public static string ToPinYin(string txt)
            {
                txt = txt.Trim();
                byte[] arr = new byte[2];   //每个汉字为2字节 
                StringBuilder result = new StringBuilder();  //使用StringBuilder优化字符串连接
                int charCode = 0;
                int arr1 = 0;
                int arr2 = 0;
                char[] arrChar = txt.ToCharArray();
                for (int j = 0; j < arrChar.Length; j++)   //遍历输入的字符 
                {
                    arr = System.Text.Encoding.Default.GetBytes(arrChar[j].ToString());  //根据系统默认编码得到字节码 
                    if (arr.Length == 1  )//如果只有1字节说明该字符不是汉字,结束本次循环 
                    {
                        result.Append(arrChar[j].ToString());
                        continue;
                    }
                    arr1 = (short)(arr[0]);   //取字节1 
                    arr2 = (short)(arr[1]);   //取字节2 
                    charCode = arr1 * 256 + arr2 - 65536;//计算汉字的编码 
    
                    if (charCode > -10254 || charCode < -20319)  //如果不在汉字编码范围内则不改变 
                    {
                        result.Append(arrChar[j]);
                    }
                    else
                    {
                        //根据汉字编码范围查找对应的拼音并保存到结果中 
                        //由于charCode的键不一定存在,所以要找比他更小的键上一个键
                        if (!CodeCollections.ContainsKey(charCode))
                        {
                            for (int i = charCode; i <= 0; --i)
                            {
                                if (CodeCollections.ContainsKey(i))
                                {
                                    result.Append(CodeCollections[i] + " ");
                                    break;
                                }
                            }
                        }
                        else
                        {
                            result.Append(CodeCollections[charCode] + " ");
                        }
                    }
                }
                return result.ToString();
            }
            #endregion
  • 相关阅读:
    144. Binary Tree Preorder Traversal
    excel 文本拼接
    excel中文转拼音(方便复制版本)
    odoo 日志文件太大处理,logfile自动轮替
    编码对象或者字串中包含Unicode字符怎样转换为中文
    odoo 返回成功提示信息
    odoo 对res_partner,res_users添加字段重启服务失败处理
    odoo 根据当前记录的值动态筛选many2many,many2one,one2many数据
    odoo 中%()d的使用
    nginx 监听非标准端口80,重定向端口丢失问题解决
  • 原文地址:https://www.cnblogs.com/phantom-k/p/5503661.html
Copyright © 2020-2023  润新知