主頁 > 知識庫 > ASP.NET漢字轉(zhuǎn)拼音 - 輸入漢字獲取其拼音的具體實(shí)現(xiàn)

ASP.NET漢字轉(zhuǎn)拼音 - 輸入漢字獲取其拼音的具體實(shí)現(xiàn)

熱門標(biāo)簽:云狐人工智能電話機(jī)器人 廣州銷售外呼系統(tǒng)定制 ai電銷機(jī)器人對貸款有幫助嗎 宿遷智能外呼系統(tǒng)排名 400電話辦理信任翰諾科技 電銷機(jī)器人 數(shù)據(jù) 地圖標(biāo)注多少錢一張 福州人工智能電銷機(jī)器人加盟 怎樣給陜西地圖標(biāo)注顏色

前不久看到有的朋友實(shí)現(xiàn)對商品名稱拼音的錄入,發(fā)現(xiàn)他的實(shí)現(xiàn)方式是手動(dòng)輸入的,—_—#、同志們,福利來了!

微軟為了開發(fā)者實(shí)現(xiàn)國際化語言的互轉(zhuǎn),提供了Microsoft Visual Studio International Pack,這個(gè)擴(kuò)展包里面有中文、日文、韓文、英語等各國語言包,并提供方法實(shí)現(xiàn)互轉(zhuǎn)、獲取拼音、獲取字?jǐn)?shù)、甚至獲取筆畫數(shù)等等。

在這里示例講的是輸入漢字,獲取其拼音,獲取拼音和獲取拼音首字母實(shí)現(xiàn)效果分別如下:

首先,去微軟官網(wǎng)下載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”安裝、路徑隨意、但是要記得、因?yàn)橐粫?huì)要引用的、
 安裝“Vsintlpack2.msi”之后、解壓“vsintlpack1.zip”、里面包含七個(gè)語言包、
 例如中文轉(zhuǎn)拼音“CHSPinYinConv.msi”、簡體繁體互轉(zhuǎn)“CHTCHSConv.msi”等等。。

 在這里我們用到的是“CHSPinYinConv.msi”、雙擊安裝成功后、打開Visual Studio、新建一個(gè)WinForm項(xiàng)目、窗體布局如上圖所示、
 

首先:添加剛剛安裝的語言包引用:

“D:\Program Files (x86)\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library\ChnCharInfo.dll”

默認(rèn)是C盤、在這里我安裝在D盤了,然后添加using引用:

復(fù)制代碼 代碼如下:

using Microsoft.International.Converters.PinYinConverter;//導(dǎo)入拼音相關(guān)

創(chuàng)建獲取拼音的方法:
復(fù)制代碼 代碼如下:

/// summary>
/// 漢字轉(zhuǎn)化為拼音
/// /summary>
/// param name="str">漢字/param>
/// returns>全拼/returns>
public static string GetPinyin(string str)
{
    string r = string.Empty;
    foreach (char obj in str)
    {
        try
        {
            ChineseChar chineseChar = new ChineseChar(obj);
            string t = chineseChar.Pinyins[0].ToString();
            r += t.Substring(0, t.Length - 1);
        }
        catch
        {
            r += obj.ToString();
        }
    }
    return r;
}

創(chuàng)建獲取漢字拼音首字母的方法:
復(fù)制代碼 代碼如下:

/// summary>
/// 漢字轉(zhuǎn)化為拼音首字母
/// /summary>
/// param name="str">漢字/param>
/// returns>首字母/returns>
public static string GetFirstPinyin(string str)
{
    string r = string.Empty;
    foreach (char obj in str)
    {
        try
        {
            ChineseChar chineseChar = new ChineseChar(obj);
            string t = chineseChar.Pinyins[0].ToString();
            r += t.Substring(0, 1);
        }
        catch
        {
            r += obj.ToString();
        }
    }
    return r;
}

然后在“轉(zhuǎn)拼音”按鈕的點(diǎn)擊事件中調(diào)用上述方法:
復(fù)制代碼 代碼如下:

// 漢字轉(zhuǎn)拼音
private void btn_One_Click(object sender, EventArgs e)
{
    string source = this.txt_ChineseCharacter_One.Text.Trim();  // 得到輸入的源字符
    string result = GetPinyin(source);  // 調(diào)用方法,獲取拼音
    this.txt_Pinyin_One.Text = result;
}

在“轉(zhuǎn)首字母”按鈕點(diǎn)擊事件中調(diào)用上述方法:
復(fù)制代碼 代碼如下:

// 轉(zhuǎn)首字母
private void btn_Two_Click(object sender, EventArgs e)
{
    string source = this.txt_ChineseCharacter_One.Text.Trim();  // 得到輸入的源字符
    string result = GetFirstPinyin(source);  // 調(diào)用方法,獲取拼音
    this.txt_Pinyin_One.Text = result;
}

到此,已經(jīng)完成了80%,運(yùn)行程序,你會(huì)發(fā)現(xiàn),當(dāng)點(diǎn)擊“轉(zhuǎn)拼音”的時(shí)候,結(jié)果是這樣子的:

并不是我開始說的那種“Gu Ying”的效果啊、這是因?yàn)槲以讷@取拼音的時(shí)候簡單的處理了一下:

復(fù)制代碼 代碼如下:

// 漢字轉(zhuǎn)拼音
private void btn_One_Click(object sender, EventArgs e)
{
    string source = this.txt_ChineseCharacter_One.Text.Trim();  // 得到輸入的源字符

    string result = string.Empty;   // 轉(zhuǎn)拼音的結(jié)果
    string temp = string.Empty; // 下面foreach用到的臨時(shí)變量
    foreach (char item in source)   // 遍歷每個(gè)源字符
    {
        temp = GetPinyin(item.ToString());  // 將每個(gè)字符轉(zhuǎn)拼音
        // 處理:獲取首字母大寫、其余字母小寫
        result += (String.Format("{0}{1} ", temp.Substring(0, 1).ToUpper(), temp.Substring(1).ToLower()));
    }

    //string result = GetPinyin(source);  // 調(diào)用方法,獲取拼音
    this.txt_Pinyin_One.Text = result;
}


OK、到此、這個(gè)功能已經(jīng)實(shí)現(xiàn)完成了,還有其余的語言包功能,和此類似,大家可以百度“Microsoft Visual Studio International Pack使用”、各種語言之間的互轉(zhuǎn)及功能示例就出來了。

您可能感興趣的文章:
  • ASP.NET 根據(jù)漢字獲取漢字拼音的首字母(含多音字)
  • 漢字轉(zhuǎn)拼音縮寫示例代碼(Silverlight和.NET 將漢字轉(zhuǎn)換成為拼音)
  • asp.net 漢字轉(zhuǎn)換拼音及首字母實(shí)現(xiàn)代碼
  • asp.net 根據(jù)漢字的拼音首字母搜索數(shù)據(jù)庫(附 LINQ 調(diào)用方法)
  • asp.net(C#)把漢字轉(zhuǎn)化成全拼音函數(shù)(全拼)
  • asp.net 自動(dòng)將漢字轉(zhuǎn)換成拼音第一個(gè)字母
  • asp.net漢字轉(zhuǎn)拼音和獲取漢字首字母的代碼
  • ASP.NET Core使用微軟官方類庫實(shí)現(xiàn)漢字轉(zhuǎn)拼音

標(biāo)簽:焦作 大興安嶺 宜春 延安 綿陽 曲靖 新疆 黃南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET漢字轉(zhuǎn)拼音 - 輸入漢字獲取其拼音的具體實(shí)現(xiàn)》,本文關(guān)鍵詞  ASP.NET,漢字,轉(zhuǎn),拼音,輸入,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET漢字轉(zhuǎn)拼音 - 輸入漢字獲取其拼音的具體實(shí)現(xiàn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET漢字轉(zhuǎn)拼音 - 輸入漢字獲取其拼音的具體實(shí)現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章