中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET怎么實現漢字轉拼音功能

發布時間:2021-07-26 13:54:02 來源:億速云 閱讀:207 作者:chen 欄目:開發技術

這篇文章主要介紹“ASP.NET怎么實現漢字轉拼音功能”,在日常操作中,相信很多人在ASP.NET怎么實現漢字轉拼音功能問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”ASP.NET怎么實現漢字轉拼音功能”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

前不久看到有的朋友實現對商品名稱拼音的錄入,發現他的實現方式是手動輸入的

微軟為了開發者實現國際化語言的互轉,提供了Microsoft Visual Studio International Pack,這個擴展包里面有中文、日文、韓文、英語等各國語言包,并提供方法實現互轉、獲取拼音、獲取字數、甚至獲取筆畫數等等。

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

ASP.NET怎么實現漢字轉拼音功能

首先,去微軟官網下載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”等等。。

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

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

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

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

復制代碼 代碼如下:


using Microsoft.International.Converters.PinYinConverter;//導入拼音相關


創建獲取拼音的方法:

復制代碼 代碼如下:


/// <summary>
/// 漢字轉化為拼音
/// </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;
}


創建獲取漢字拼音首字母的方法:

復制代碼 代碼如下:


/// <summary>
/// 漢字轉化為拼音首字母
/// </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;
}


然后在“轉拼音”按鈕的點擊事件中調用上述方法:

復制代碼 代碼如下:


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


在“轉首字母”按鈕點擊事件中調用上述方法:

復制代碼 代碼如下:


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


到此,已經完成了80%,運行程序,你會發現,當點擊“轉拼音”的時候,結果是這樣子的:
ASP.NET怎么實現漢字轉拼音功能

并不是我開始說的那種“Gu Ying”的效果啊、這是因為我在獲取拼音的時候簡單的處理了一下:

復制代碼 代碼如下:


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

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

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

OK、到此、這個功能已經實現完成了,還有其余的語言包功能,和此類似,大家可以百度“Microsoft Visual Studio International Pack使用”、各種語言之間的互轉及功能示例就出來了。

到此,關于“ASP.NET怎么實現漢字轉拼音功能”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仁怀市| 扬州市| 保定市| 安丘市| 新绛县| 越西县| 高阳县| 昭苏县| 荔波县| 拜泉县| 苏州市| 改则县| 沅陵县| 柏乡县| 安庆市| 石嘴山市| 紫云| 荣昌县| 阿克陶县| 方山县| 濮阳县| 延安市| 响水县| 米泉市| 沧州市| 北京市| 加查县| 威远县| 丰都县| 龙山县| 鄢陵县| 土默特右旗| 东港市| 新晃| 东源县| 荣成市| 瓦房店市| 镇坪县| 大冶市| 玛沁县| 桐庐县|