1. 程式人生 > >中文轉化漢語拼音如此簡單

中文轉化漢語拼音如此簡單

hang 來講 比較 麻煩 sta 一個 ram 我們 +=

中文轉漢語拼音就是這麽簡單

  在各種各式的需求中,開發人員難免會遇到那種中文轉換成漢語拼音的要求。這時候,對於我們開發新手來講的話還是比較繁瑣的。這時候,我們可以去微軟官網下載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,只能說中文太強悍了,畢竟是世界上最難學的語言了吧。。。有的多音字更是沒辦法的區分的。。

還有的方法是,把應用的中文定義一個數組,拼音對應成另一個數組,然後一一對照。。。。這種方法處理起來也是比較麻煩的,畢竟中文都沒學全的程序員更是一種殤。。。。。

中文轉化漢語拼音如此簡單