中文转汉语拼音就是这么简单
在各种各式的需求中,开发人员难免会遇到那种中文转换成汉语拼音的要求。这时候,对于我们开发新手来讲的话还是比较繁琐的。这时候,我们可以去微软官网下载Microsoft Visual Studio International Pack语言包,下载地址分别如下:
Microsoft Visual Studio International Pack 1.0 SR1、Microsoft Visual Studio International Feature Pack 2.0
下载后分别是“vsintlpack1.zip”、“Vsintlpack2.msi”、双击“Vsintlpack2.msi”安装、路径随意、但是要记得、因为一会要引用的、
安装“Vsintlpack2.msi”之后、解压“vsintlpack1.zip”、里面包含七个语言包、
例如中文转拼音“CHSPinYinConv.msi”、简体繁体互转“CHTCHSConv.msi”等等。。
引用到项目中就可以对中文进行各式各样的拼音转换了,下面是控制输入任何中文转换成品应的代码。。。
using Microsoft.International.Converters.PinYinConverter;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 汉化包拼音学习
{
class Program
{
static void Main(string[] args)
{
Contitue();
Console.ReadKey();
}
/// <summary>
/// 汉化
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string ConvertToPinYin(string str)
{
string PYstr = "";
foreach (char item in str.ToCharArray())
{
if (ChineseChar.IsValidChar(item))
{
ChineseChar cc = new ChineseChar(item);
//拼音全称大写
var pyqc = cc.Pinyins[0].Substring(0, cc.Pinyins[0].Length - 1);
//PYstr += string.Join("", cc.Pinyins.ToArray());
//PYstr += pyqc.Substring(0, 1).ToLower();//拼音缩写(小写)
PYstr += String.Format("{0}{1}", pyqc.Substring(0, 1).ToUpper(), pyqc.Substring(1).ToLower());//第一个字符大写其他的小写,如ZhangSan
}
else
{
PYstr += item.ToString();
}
}
return PYstr;
}
static void Contitue()
{
Console.WriteLine("请输入需要汉化的中文:");
var ss = Console.ReadLine();
Console.WriteLine(ConvertToPinYin(ss));
Console.WriteLine();//换行
Contitue();//递归 可以继续输入
}
}
}
效果图如下
但是有误=youwu,无敌=MoDi,只能说中文太强悍了,毕竟是世界上最难学的语言了吧。。。有的多音字更是没办法的区分的。。
还有的方法是,把应用的中文定义一个数组,拼音对应成另一个数组,然后一一对照。。。。这种方法处理起来也是比较麻烦的,毕竟中文都没学全的程序员更是一种殇。。。。。