1. 要进行拼音转换操作,首先要引入几个文件,也就是用于操作拼音转换的文件,就是微软提供给开发者的一个类库

Microsoft Visual Studio International Pack 1.0 SR1 点击进行下载

也可以在我提供给大家的下载链接中下载:

http://pan.baidu.com/share/link?shareid=652797632&uk=2937807614

这两个地方资源一样,里面有7个文件:

CHSPinYinConv.msi是把简体中文转换成拼音的组件,

CHTCHSConv.msi是进行繁简体互相转换的组件

其他的根据需求进行安装,主要是获取里面的文件,如下图

比如简体中文转换拼音组件安装完之后,在安装目录找到文件

把这三个文件拷贝到项目中,再对ChnCharInfo.dll添加引用,这样我们就开始我们的代码编写:如下

 #region 获取字符串的全拼
/// <summary>
/// 获取字符串的全拼
/// </summary>
/// <param name="str">要转换的字符串</param>
/// <returns></returns>
public string GetPinYin(string str)
{
string r = string.Empty;
foreach (char obj in str)
{
if (ChineseChar.IsValidChar(obj))//识别这个字符是否是一个有效的汉字字符
{
try
{
ChineseChar chin = new ChineseChar(obj);//就是通过这个类进行转换
string t = chin.Pinyins[].ToString();//获取到每个字符的第一个拼音 //之所以获取全拼也要截取是因为每个字符的拼音后面有一个数字代表音调,所以要去掉
r += t.Substring(, t.Length - );//length-1就是去掉最后的数字
}
catch (Exception)
{
r += obj.ToString();//如果出现异常则原样输出字符串
throw;
}
}
else
{
r += obj;
}
}
return r;
}
#endregion #region 获取字符串的首字母
/// <summary>
/// 获取字符串的首字母
/// </summary>
/// <param name="str">要转换的字符串</param>
/// <returns></returns>
public string GetFirstPinYin(string str)
{
string r = string.Empty;
foreach (char obj in str) //遍历字符串的每个字符
{
if (ChineseChar.IsValidChar(obj))//识别这个字符是否是一个有效的汉字字符
{
try
{
ChineseChar chin = new ChineseChar(obj);
string t = chin.Pinyins[].ToString();//获取到每个字符的第一个拼音
r += t.Substring(, );// 把每个拼音的首字母用Substring进行截取出来再拼接
}
catch (Exception)
{
r += obj.ToString();//如果出现异常则原样输出字符串
throw;
}
}
else
{
r += obj;
}
}
return r;
}
#endregion

C#实习简体中文转换成拼音的代码

如调用GetPinYin("李亚杰");//得到的结果是:LIYAJIE

如调用GetFirstPinYin("李亚杰");//得到的结果是:LYJ

文件不大,功能却很强大

C#拼音转换,将简体中文转换成拼音的更多相关文章

  1. C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母

    汉字转拼音貌似一直是C#开发的一个难题,无论什么方案都有一定的bug,之前使用了两种方案. 1.Chinese2Spell.cs 一些不能识别的汉字全部转为Z 2.Microsoft Visual S ...

  2. SQL 汉字转换成拼音首字母 首字母查

    -- ============================================= -- 功能:汉字转换成拼音首字母 首字母查 -- ========================== ...

  3. java中汉字自动转换成拼音

    java中汉字自动转换成拼音 1.需要下载jar包 pinyin4j.2.5.0.jar ,加入到WEB-INF下的lib里边,右键add to bulid path. 2.[代码]PinYinUti ...

  4. python把汉字转换成拼音实现程序

    python把汉字转换成拼音实现程序 文章一个简洁干的汉字转拼音 程序,复制下载就可以直接使用,有需要的同学可以参考一下下. #coding:utf-8 #基于python2.6 table = 'a ...

  5. C++ 将汉字转换成拼音全拼

    #include <string> using std::string; //======================================================= ...

  6. 基于jQuery实现汉字转换成拼音代码

    基于jQuery实现汉字转换成拼音代码.这是一款基于jQuery.Hz2Py.js插件实现的汉字转拼音特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <br /> ...

  7. SnowNLP:•中文分词•词性标准•提取文本摘要,•提取文本关键词,•转换成拼音•繁体转简体的 处理中文文本的Python3 类库

    SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和Te ...

  8. C++ 将汉字转换成拼音全拼【转载】

    转载自https://www.cnblogs.com/mzhrd/p/4758105.html #include <string> using std::string; //======= ...

  9. 使用 js 实现一个中文自动转换成拼音的工具库

    使用 js 实现一个中文自动转换成拼音的工具库 中文 => zhong-wen 应用场景 SEO 友好, URL 自动转换 blogs 发布文章,自动化部署,自动生成 url 的 path (时 ...

随机推荐

  1. 统计MySQL数据表大小

    SELECT CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size,CONCAT(TRUNCATE(SUM(max_data ...

  2. android开发 eclipse alt+”/”自动提示失效

    http://blog.unvs.cn/archives/android-eclipse-alt.html 按照其中的第一条+第二条 处理 注意:abcd要替换为 abcdefghijklmnopqr ...

  3. linux 配置 wlan 连接

    第一步,先确定你已经安装了无线网卡驱动.我的是 ath9k ,linux 内核不自带,现编译成模块 然后安装上.具体步骤请自行搜索 linux 编译内核 第二步,起用模块 modprobe ath9k ...

  4. python 中的map 详解

    python中的map函数应用于每一个可迭代的项,返回的是一个结果list.如果有其他的可迭代参数传进来,map函数则会把每一个参数都以相应的处理函数进行迭代处理.map()函数接收两个参数,一个是函 ...

  5. 判断线段相交 -- 51nod 1264 线段相交

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1264 三角形的有向面积:a.x*b.y+b.x*c.y+c.x*a.y ...

  6. NDK(8)"Unknown Application ABI"的解决方案

    ndk 调试本地应用时 报错如下 : console信息: [2015-08-17 19:52:05 - NdkSample] Unknown Application ABI: [2015-08-17 ...

  7. 中文web font技术及方案

    我们在日常需求中,经常会碰到视觉设计师对某个中文字体效果非常坚持的情况,因为页面是否高大上,字体选择是很重要的一个因素,选择合适的字体可以让页面更优雅.面对这种问题,我们通常以下方式来进行设计还原: ...

  8. 多态and接口

    一.多态 1.什么是多态? 解析:不同的对象对于同一个操作,做出的响应不同 具有表现多种形态的能力的特征 2.使用多态的优点 解析:为了实现统一调用 一个小例子:<父类类型作为参数> 父类 ...

  9. UVa 10891 (博弈+DP) Game of Sum

    最开始的时候思路就想错了,就不说错误的思路了. 因为这n个数的总和是一定的,所以在取数的时候不是让自己尽可能拿的最多,而是让对方尽量取得最少. 记忆化搜索(时间复杂度O(n3)): d(i, j)表示 ...

  10. LA 2678 Subsequence

    有一个正整数序列,求最短的子序列使得其和大于等于S,并输出最短的长度. 用数组b[i]存放序列的前i项和,所以b[i]是递增的. 遍历终点j,然后在区间[0, j)里二分查找满足b[j]-b[i]≥S ...