1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Text.RegularExpressions;
  5.  
  6. namespace DTcms.Common
  7. {
  8. public class EnCh
  9. {
  10.  
  11. //定义拼音区编码数组
  12. private static int[] getValue = new int[]
  13. {
  14. -,-,-,-,-,-,-,-,-,-,-,-,
  15. -,-,-,-,-,-,-,-,-,-,-,-,
  16. -,-,-,-,-,-,-,-,-,-,-,-,
  17. -,-,-,-,-,-,-,-,-,-,-,-,
  18. -,-,-,-,-,-,-,-,-,-,-,-,
  19. -,-,-,-,-,-,-,-,-,-,-,-,
  20. -,-,-,-,-,-,-,-,-,-,-,-,
  21. -,-,-,-,-,-,-,-,-,-, -,-,
  22. -,-,-,-,-,-,-,-,-,-,-,-,
  23. -,-,-,-,-,-,-,-,-,-,-,-,
  24. -,-,-,-,-,-,-,-,-,-,-,-,
  25. -,-,-,-,-,-,-,-,-,-,-,-,
  26. -,-,-,-,-,-,-,-,-,-,-,-,
  27. -,-,-,-,-,-,-,-,-,-,-,-,
  28. -,-,-,-,-,-,-,-,-,-,-,-,
  29. -,-,-,-,-,-,-,-,-,-,-,-,
  30. -,-,-,-,-,-,-,-,-,-,-,-,
  31. -,-,-,-,-,-,-,-,-,-,-,-,
  32. -,-,-,-,-,-,-,-,-,-,-,-,
  33. -,-,-,-,-,-,-,-,-,-,-,-,
  34. -,-,-,-,-,-,-,-,-,-,-,-,
  35. -,-,-,-,-,-,-,-,-,-,-,-,
  36. -,-,-,-,-,-,-,-,-,-,-,-,
  37. -,-,-,-,-,-,-,-,-,-,-,-,
  38. -,-,-,-,-,-,-,-,-,-,-,-,
  39. -,-,-,-,-,-,-,-,-,-,-,-,
  40. -,-,-,-,-,-,-,-,-,-,-,-,
  41. -,-,-,-,-,-,-,-,-,-,-,-,
  42. -,-,-,-,-,-,-,-,-,-,-,-,
  43. -,-,-,-,-,-,-,-,-,-,-,-,
  44. -,-,-,-,-,-,-,-,-,-,-,-,
  45. -,-,-,-,-,-,-,-,-,-,-,-,
  46. -,-,-,-,-,-,-,-,-,-,-,-
  47. };
  48. //定义拼音数组
  49. private static string[] getName = new string[]
  50. {
  51. "A","Ai","An","Ang","Ao","Ba","Bai","Ban","Bang","Bao","Bei","Ben",
  52. "Beng","Bi","Bian","Biao","Bie","Bin","Bing","Bo","Bu","Ba","Cai","Can",
  53. "Cang","Cao","Ce","Ceng","Cha","Chai","Chan","Chang","Chao","Che","Chen","Cheng",
  54. "Chi","Chong","Chou","Chu","Chuai","Chuan","Chuang","Chui","Chun","Chuo","Ci","Cong",
  55. "Cou","Cu","Cuan","Cui","Cun","Cuo","Da","Dai","Dan","Dang","Dao","De",
  56. "Deng","Di","Dian","Diao","Die","Ding","Diu","Dong","Dou","Du","Duan","Dui",
  57. "Dun","Duo","E","En","Er","Fa","Fan","Fang","Fei","Fen","Feng","Fo",
  58. "Fou","Fu","Ga","Gai","Gan","Gang","Gao","Ge","Gei","Gen","Geng","Gong",
  59. "Gou","Gu","Gua","Guai","Guan","Guang","Gui","Gun","Guo","Ha","Hai","Han",
  60. "Hang","Hao","He","Hei","Hen","Heng","Hong","Hou","Hu","Hua","Huai","Huan",
  61. "Huang","Hui","Hun","Huo","Ji","Jia","Jian","Jiang","Jiao","Jie","Jin","Jing",
  62. "Jiong","Jiu","Ju","Juan","Jue","Jun","Ka","Kai","Kan","Kang","Kao","Ke",
  63. "Ken","Keng","Kong","Kou","Ku","Kua","Kuai","Kuan","Kuang","Kui","Kun","Kuo",
  64. "La","Lai","Lan","Lang","Lao","Le","Lei","Leng","Li","Lia","Lian","Liang",
  65. "Liao","Lie","Lin","Ling","Liu","Long","Lou","Lu","Lv","Luan","Lue","Lun",
  66. "Luo","Ma","Mai","Man","Mang","Mao","Me","Mei","Men","Meng","Mi","Mian",
  67. "Miao","Mie","Min","Ming","Miu","Mo","Mou","Mu","Na","Nai","Nan","Nang",
  68. "Nao","Ne","Nei","Nen","Neng","Ni","Nian","Niang","Niao","Nie","Nin","Ning",
  69. "Niu","Nong","Nu","Nv","Nuan","Nue","Nuo","O","Ou","Pa","Pai","Pan",
  70. "Pang","Pao","Pei","Pen","Peng","Pi","Pian","Piao","Pie","Pin","Ping","Po",
  71. "Pu","Qi","Qia","Qian","Qiang","Qiao","Qie","Qin","Qing","Qiong","Qiu","Qu",
  72. "Quan","Que","Qun","Ran","Rang","Rao","Re","Ren","Reng","Ri","Rong","Rou",
  73. "Ru","Ruan","Rui","Run","Ruo","Sa","Sai","San","Sang","Sao","Se","Sen",
  74. "Seng","Sha","Shai","Shan","Shang","Shao","She","Shen","Sheng","Shi","Shou","Shu",
  75. "Shua","Shuai","Shuan","Shuang","Shui","Shun","Shuo","Si","Song","Sou","Su","Suan",
  76. "Sui","Sun","Suo","Ta","Tai","Tan","Tang","Tao","Te","Teng","Ti","Tian",
  77. "Tiao","Tie","Ting","Tong","Tou","Tu","Tuan","Tui","Tun","Tuo","Wa","Wai",
  78. "Wan","Wang","Wei","Wen","Weng","Wo","Wu","Xi","Xia","Xian","Xiang","Xiao",
  79. "Xie","Xin","Xing","Xiong","Xiu","Xu","Xuan","Xue","Xun","Ya","Yan","Yang",
  80. "Yao","Ye","Yi","Yin","Ying","Yo","Yong","You","Yu","Yuan","Yue","Yun",
  81. "Za", "Zai","Zan","Zang","Zao","Ze","Zei","Zen","Zeng","Zha","Zhai","Zhan",
  82. "Zhang","Zhao","Zhe","Zhen","Zheng","Zhi","Zhong","Zhou","Zhu","Zhua","Zhuai","Zhuan",
  83. "Zhuang","Zhui","Zhun","Zhuo","Zi","Zong","Zou","Zu","Zuan","Zui","Zun","Zuo"
  84. };
  85. //建立一个convertCh方法用于将汉字转换成全拼的拼音,其中,参数代表汉字字符串,此方法的返回值是转换后的拼音字符串
  86.  
  87. /// <summary>
  88. /// 汉字转换成全拼的拼音
  89. /// </summary>
  90. /// <param name="Chstr">汉字字符串</param>
  91. /// <returns>转换后的拼音字符串</returns>
  92.  
  93. public static string convertCh(string Chstr)
  94. {
  95. Regex reg = new Regex("^[\u4e00-\u9fa5]$");//验证是否输入汉字
  96. byte[] arr = new byte[];
  97. string pystr = "";
  98. int asc = , M1 = , M2 = ;
  99. char[] mChar = Chstr.ToCharArray();//获取汉字对应的字符数组
  100. for (int j = ; j < mChar.Length; j++)
  101. {
  102. //如果输入的是汉字
  103. if (reg.IsMatch(mChar[j].ToString()))
  104. {
  105. arr = System.Text.Encoding.Default.GetBytes(mChar[j].ToString());
  106. M1 = (short)(arr[]);
  107. M2 = (short)(arr[]);
  108. asc = M1 * + M2 - ;
  109. if (asc > && asc < )
  110. {
  111. pystr += mChar[j];
  112. }
  113. else
  114. {
  115. switch (asc)
  116. {
  117. case -:
  118. pystr += "Zhen"; break;
  119. case -:
  120. pystr += "Qian"; break;
  121. case -:
  122. pystr += "Jia"; break;
  123. case -:
  124. pystr += "Ge"; break;
  125. case -:
  126. pystr += "Ga"; break;
  127. case -:
  128. pystr += "La"; break;
  129. case -:
  130. pystr += "Chen"; break;
  131. case -:
  132. pystr += "Mao"; break;
  133. case -:
  134. pystr += "Mao"; break;
  135. case -:
  136. pystr += "Die"; break;
  137. case -:
  138. pystr += "Tian"; break;
  139. default:
  140. for (int i = (getValue.Length - ); i >= ; i--)
  141. {
  142. if (getValue[i] <= asc)//判断汉字的拼音区编码是否在指定范围内
  143. {
  144. pystr += getName[i];//如果不超出范围则获取对应的拼音
  145. break;
  146. }
  147. }
  148. break;
  149. }
  150. }
  151. }
  152. else//如果不是汉字
  153. {
  154. pystr += mChar[j].ToString();//如果不是汉字则返回
  155. }
  156. }
  157. return pystr;//返回获取到的汉字拼音
  158. }
  159. }
  160. }

c#汉字转为拼音的更多相关文章

  1. java实现将汉字转为拼音

    有时候为了方便操作程序的开发,需要将汉字转为拼音等操作.下面这个是自己结合网上的资料,加上自己在公司项目中的亲自实践.完整的实现了将汉字转为拼音的操作.这个Demo只是负责将其转换,在main方法中测 ...

  2. java实现汉字转为拼音

    java实现汉字转为拼音: 1.需要导入pinyin4j.jar package com.loo.pinyin; import net.sourceforge.pinyin4j.PinyinHelpe ...

  3. php方法-------将汉字转为拼音或者提取汉字首字母

    将汉字转为全拼,提取汉字首字母 <?php /** * 基于PHP语言的汉语转拼音的类 * 兼容 UTF8.GBK.GB2312 编码,无须特殊处理 * 对中文默认返回拼音首字母缩写,其它字符不 ...

  4. PHP将汉字转为拼音

    没什么难度,最大的难点应该是需要有一个汉字-拼音库. <?php function spell($str, $ishead=0){ $restr = ''; $str = trim($str); ...

  5. 汉字转拼音(pinyin4j)

    1.引入依赖 <dependency> <groupId>pinyin4j.sourceforge.net</groupId> <artifactId> ...

  6. 用sql实现汉字转拼音

    有时我们会需要将汉字转为拼音,例如需要将省市转为拼音后当做编码存储(尽管国家有统一的标识码,但有时候我们还是会用到),网络上也有工具提供汉字转拼音的功能,但各有优劣,一般转拼音后还会存在带声调的字母, ...

  7. 文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现

    ----------------------------------------------------------------------------------------------[版权申明: ...

  8. 小程序语音红包开发中 汉字转拼音的问题 微信小程序红包开发遇到的坑

    公司最近在开发微信小程序的红包功能,语音红包需要用到文字转拼音的功能. 之前介绍过怎么将中文的汉字转为拼音的,具体看下面这篇文章. 微信语音红包小程序开发如何提高精准度 红包小程序语音识别精准度 微信 ...

  9. sqlserver 汉字转拼音(转载)

    转载来源一:https://www.cnblogs.com/zhuisuo/archive/2012/01/11/2318908.html 汉字转全拼音函数优化方案(SQLServer),值得你看看 ...

随机推荐

  1. java_文件类

    例一:创建文件 package java文件类; import java.io.File; import java.io.IOException; public class aasd { public ...

  2. 琐碎-将hadoop源码作为工程导入eclipse

    之前写过如何用eclipse看hadoop源码,虽然非官方版的,但是可以达到目的,最重要是简单方便快速 官方版(hadoop2.2.0)的也有: 源码目录为: 和之前的源码目录有很大的不同 编译的时候 ...

  3. 高德地图 JavaScript API 开发系列教程(二)

    上节简单介绍高德地图JavaScript API及网页中基本地图展示.有了地图后我们可以用来做什么?有人说离我最近的超市在哪里,我怎么去?别急,这些功能我们后面都会慢慢实现.今天为大家详细讲解如何在地 ...

  4. APK文件安装模拟器和ADB命令的使用

    1.安装APK文件到模拟器 Android手机使用的执行文件为APK格式,类似于Windows平台的exe文件.在Android模拟器中安装APK文件有多种方法,如果你是开发人员,可以通过Eclips ...

  5. [改善Java代码]非稳定排序推荐使用List

    我们知道Set与List的最大区别就是Set中的元素不可以重复(这个重复指的equals方法的返回值相等),其他方面则没有太大的区别了,在Set的实现类中有一个比较常用的类需要了解一下:TreeSet ...

  6. poj 3565 二分图最优匹配

    思路: 将ant与tree之间用距离来做权值,求最小权匹配就可以了.可以想到,如果有两条线段相交,那么将这两个线段交换一个顶点,使其不相交,其权值和一定会更小. 就像斜边永远比直角边长一样的道理. # ...

  7. 为什么Java byte 类型的取值范围是-128~127 (转)

    概念:负数的补码是该 数 绝 对 值 的 原 码 按 位 取 反 ,然 后 对 整个数 加 1 步骤: 1.确定byte是1个字节,也就是8位 2.最大的应该是0111 1111,因为第一位是符号位, ...

  8. 如何使用CSS实现小三角形效果

    如何使用CSS实现小三角形效果:建议:尽可能的手写代码,可以有效的提高学习效率和深度.在众多的网页效果中,都有小三角形效果的应用,能够增加特定应用的美观度,下面就给出一段实例代码,里面介绍了两种实现小 ...

  9. Sublime Text—安装

    一.简介 市面上的编辑器纷繁复杂各有优点,好用的编辑器能让你工作事半功倍,先简单介绍下本文主角Sublime Text编辑器,下面简称Sublime. 1.可用于 Windows.Mac OS X 和 ...

  10. C#编写windows服务程序

    Windows Service这一块并不复杂,但是注意事项太多了,网上资料也很凌乱,偶尔自己写也会丢三落四的.所以本文也就产生了,本文不会写复杂的东西,完全以基础应用的需求来写,所以不会对Window ...