c#汉字转为拼音
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Text.RegularExpressions;
- namespace DTcms.Common
- {
- public class EnCh
- {
- //定义拼音区编码数组
- private static int[] getValue = new int[]
- {
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-, -,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-,
- -,-,-,-,-,-,-,-,-,-,-,-
- };
- //定义拼音数组
- private static string[] getName = new string[]
- {
- "A","Ai","An","Ang","Ao","Ba","Bai","Ban","Bang","Bao","Bei","Ben",
- "Beng","Bi","Bian","Biao","Bie","Bin","Bing","Bo","Bu","Ba","Cai","Can",
- "Cang","Cao","Ce","Ceng","Cha","Chai","Chan","Chang","Chao","Che","Chen","Cheng",
- "Chi","Chong","Chou","Chu","Chuai","Chuan","Chuang","Chui","Chun","Chuo","Ci","Cong",
- "Cou","Cu","Cuan","Cui","Cun","Cuo","Da","Dai","Dan","Dang","Dao","De",
- "Deng","Di","Dian","Diao","Die","Ding","Diu","Dong","Dou","Du","Duan","Dui",
- "Dun","Duo","E","En","Er","Fa","Fan","Fang","Fei","Fen","Feng","Fo",
- "Fou","Fu","Ga","Gai","Gan","Gang","Gao","Ge","Gei","Gen","Geng","Gong",
- "Gou","Gu","Gua","Guai","Guan","Guang","Gui","Gun","Guo","Ha","Hai","Han",
- "Hang","Hao","He","Hei","Hen","Heng","Hong","Hou","Hu","Hua","Huai","Huan",
- "Huang","Hui","Hun","Huo","Ji","Jia","Jian","Jiang","Jiao","Jie","Jin","Jing",
- "Jiong","Jiu","Ju","Juan","Jue","Jun","Ka","Kai","Kan","Kang","Kao","Ke",
- "Ken","Keng","Kong","Kou","Ku","Kua","Kuai","Kuan","Kuang","Kui","Kun","Kuo",
- "La","Lai","Lan","Lang","Lao","Le","Lei","Leng","Li","Lia","Lian","Liang",
- "Liao","Lie","Lin","Ling","Liu","Long","Lou","Lu","Lv","Luan","Lue","Lun",
- "Luo","Ma","Mai","Man","Mang","Mao","Me","Mei","Men","Meng","Mi","Mian",
- "Miao","Mie","Min","Ming","Miu","Mo","Mou","Mu","Na","Nai","Nan","Nang",
- "Nao","Ne","Nei","Nen","Neng","Ni","Nian","Niang","Niao","Nie","Nin","Ning",
- "Niu","Nong","Nu","Nv","Nuan","Nue","Nuo","O","Ou","Pa","Pai","Pan",
- "Pang","Pao","Pei","Pen","Peng","Pi","Pian","Piao","Pie","Pin","Ping","Po",
- "Pu","Qi","Qia","Qian","Qiang","Qiao","Qie","Qin","Qing","Qiong","Qiu","Qu",
- "Quan","Que","Qun","Ran","Rang","Rao","Re","Ren","Reng","Ri","Rong","Rou",
- "Ru","Ruan","Rui","Run","Ruo","Sa","Sai","San","Sang","Sao","Se","Sen",
- "Seng","Sha","Shai","Shan","Shang","Shao","She","Shen","Sheng","Shi","Shou","Shu",
- "Shua","Shuai","Shuan","Shuang","Shui","Shun","Shuo","Si","Song","Sou","Su","Suan",
- "Sui","Sun","Suo","Ta","Tai","Tan","Tang","Tao","Te","Teng","Ti","Tian",
- "Tiao","Tie","Ting","Tong","Tou","Tu","Tuan","Tui","Tun","Tuo","Wa","Wai",
- "Wan","Wang","Wei","Wen","Weng","Wo","Wu","Xi","Xia","Xian","Xiang","Xiao",
- "Xie","Xin","Xing","Xiong","Xiu","Xu","Xuan","Xue","Xun","Ya","Yan","Yang",
- "Yao","Ye","Yi","Yin","Ying","Yo","Yong","You","Yu","Yuan","Yue","Yun",
- "Za", "Zai","Zan","Zang","Zao","Ze","Zei","Zen","Zeng","Zha","Zhai","Zhan",
- "Zhang","Zhao","Zhe","Zhen","Zheng","Zhi","Zhong","Zhou","Zhu","Zhua","Zhuai","Zhuan",
- "Zhuang","Zhui","Zhun","Zhuo","Zi","Zong","Zou","Zu","Zuan","Zui","Zun","Zuo"
- };
- //建立一个convertCh方法用于将汉字转换成全拼的拼音,其中,参数代表汉字字符串,此方法的返回值是转换后的拼音字符串
- /// <summary>
- /// 汉字转换成全拼的拼音
- /// </summary>
- /// <param name="Chstr">汉字字符串</param>
- /// <returns>转换后的拼音字符串</returns>
- public static string convertCh(string Chstr)
- {
- Regex reg = new Regex("^[\u4e00-\u9fa5]$");//验证是否输入汉字
- byte[] arr = new byte[];
- string pystr = "";
- int asc = , M1 = , M2 = ;
- char[] mChar = Chstr.ToCharArray();//获取汉字对应的字符数组
- for (int j = ; j < mChar.Length; j++)
- {
- //如果输入的是汉字
- if (reg.IsMatch(mChar[j].ToString()))
- {
- arr = System.Text.Encoding.Default.GetBytes(mChar[j].ToString());
- M1 = (short)(arr[]);
- M2 = (short)(arr[]);
- asc = M1 * + M2 - ;
- if (asc > && asc < )
- {
- pystr += mChar[j];
- }
- else
- {
- switch (asc)
- {
- case -:
- pystr += "Zhen"; break;
- case -:
- pystr += "Qian"; break;
- case -:
- pystr += "Jia"; break;
- case -:
- pystr += "Ge"; break;
- case -:
- pystr += "Ga"; break;
- case -:
- pystr += "La"; break;
- case -:
- pystr += "Chen"; break;
- case -:
- pystr += "Mao"; break;
- case -:
- pystr += "Mao"; break;
- case -:
- pystr += "Die"; break;
- case -:
- pystr += "Tian"; break;
- default:
- for (int i = (getValue.Length - ); i >= ; i--)
- {
- if (getValue[i] <= asc)//判断汉字的拼音区编码是否在指定范围内
- {
- pystr += getName[i];//如果不超出范围则获取对应的拼音
- break;
- }
- }
- break;
- }
- }
- }
- else//如果不是汉字
- {
- pystr += mChar[j].ToString();//如果不是汉字则返回
- }
- }
- return pystr;//返回获取到的汉字拼音
- }
- }
- }
c#汉字转为拼音的更多相关文章
- java实现将汉字转为拼音
有时候为了方便操作程序的开发,需要将汉字转为拼音等操作.下面这个是自己结合网上的资料,加上自己在公司项目中的亲自实践.完整的实现了将汉字转为拼音的操作.这个Demo只是负责将其转换,在main方法中测 ...
- java实现汉字转为拼音
java实现汉字转为拼音: 1.需要导入pinyin4j.jar package com.loo.pinyin; import net.sourceforge.pinyin4j.PinyinHelpe ...
- php方法-------将汉字转为拼音或者提取汉字首字母
将汉字转为全拼,提取汉字首字母 <?php /** * 基于PHP语言的汉语转拼音的类 * 兼容 UTF8.GBK.GB2312 编码,无须特殊处理 * 对中文默认返回拼音首字母缩写,其它字符不 ...
- PHP将汉字转为拼音
没什么难度,最大的难点应该是需要有一个汉字-拼音库. <?php function spell($str, $ishead=0){ $restr = ''; $str = trim($str); ...
- 汉字转拼音(pinyin4j)
1.引入依赖 <dependency> <groupId>pinyin4j.sourceforge.net</groupId> <artifactId> ...
- 用sql实现汉字转拼音
有时我们会需要将汉字转为拼音,例如需要将省市转为拼音后当做编码存储(尽管国家有统一的标识码,但有时候我们还是会用到),网络上也有工具提供汉字转拼音的功能,但各有优劣,一般转拼音后还会存在带声调的字母, ...
- 文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现
----------------------------------------------------------------------------------------------[版权申明: ...
- 小程序语音红包开发中 汉字转拼音的问题 微信小程序红包开发遇到的坑
公司最近在开发微信小程序的红包功能,语音红包需要用到文字转拼音的功能. 之前介绍过怎么将中文的汉字转为拼音的,具体看下面这篇文章. 微信语音红包小程序开发如何提高精准度 红包小程序语音识别精准度 微信 ...
- sqlserver 汉字转拼音(转载)
转载来源一:https://www.cnblogs.com/zhuisuo/archive/2012/01/11/2318908.html 汉字转全拼音函数优化方案(SQLServer),值得你看看 ...
随机推荐
- java_文件类
例一:创建文件 package java文件类; import java.io.File; import java.io.IOException; public class aasd { public ...
- 琐碎-将hadoop源码作为工程导入eclipse
之前写过如何用eclipse看hadoop源码,虽然非官方版的,但是可以达到目的,最重要是简单方便快速 官方版(hadoop2.2.0)的也有: 源码目录为: 和之前的源码目录有很大的不同 编译的时候 ...
- 高德地图 JavaScript API 开发系列教程(二)
上节简单介绍高德地图JavaScript API及网页中基本地图展示.有了地图后我们可以用来做什么?有人说离我最近的超市在哪里,我怎么去?别急,这些功能我们后面都会慢慢实现.今天为大家详细讲解如何在地 ...
- APK文件安装模拟器和ADB命令的使用
1.安装APK文件到模拟器 Android手机使用的执行文件为APK格式,类似于Windows平台的exe文件.在Android模拟器中安装APK文件有多种方法,如果你是开发人员,可以通过Eclips ...
- [改善Java代码]非稳定排序推荐使用List
我们知道Set与List的最大区别就是Set中的元素不可以重复(这个重复指的equals方法的返回值相等),其他方面则没有太大的区别了,在Set的实现类中有一个比较常用的类需要了解一下:TreeSet ...
- poj 3565 二分图最优匹配
思路: 将ant与tree之间用距离来做权值,求最小权匹配就可以了.可以想到,如果有两条线段相交,那么将这两个线段交换一个顶点,使其不相交,其权值和一定会更小. 就像斜边永远比直角边长一样的道理. # ...
- 为什么Java byte 类型的取值范围是-128~127 (转)
概念:负数的补码是该 数 绝 对 值 的 原 码 按 位 取 反 ,然 后 对 整个数 加 1 步骤: 1.确定byte是1个字节,也就是8位 2.最大的应该是0111 1111,因为第一位是符号位, ...
- 如何使用CSS实现小三角形效果
如何使用CSS实现小三角形效果:建议:尽可能的手写代码,可以有效的提高学习效率和深度.在众多的网页效果中,都有小三角形效果的应用,能够增加特定应用的美观度,下面就给出一段实例代码,里面介绍了两种实现小 ...
- Sublime Text—安装
一.简介 市面上的编辑器纷繁复杂各有优点,好用的编辑器能让你工作事半功倍,先简单介绍下本文主角Sublime Text编辑器,下面简称Sublime. 1.可用于 Windows.Mac OS X 和 ...
- C#编写windows服务程序
Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的.所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Window ...