天天看點

C# 使用微軟的Visual Studio International Pack 類庫提取漢字拼音首字母

首先下載下傳Visual Studio International Pack 1.0,官方下載下傳位址:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=44CAC7F0-633B-477D-AED2-99AEE642FC10&displaylang=zh-cn。下載下傳完畢後解壓,解壓後可以發現7個MSI安裝檔案,其中CHSPinYinConv.msi是漢字拼音元件,CHTCHSConv.msi是進行繁簡體互轉元件,安裝這兩個MSI就可以了 (x86作業系統上的預設安裝目錄是 C:\Program Files\Microsoft Visual Studio International Pack\) 。安裝完畢後,需要在VS裡添加引用,分别引用:C:\Program Files\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library(拼音)下和C:\Program Files\Microsoft Visual Studio International Pack\Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool(繁簡互轉)下的dll 即可使用。

完成上面的工作後,使用方法就非常簡單了,下面看代碼:

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

namespace WebApplication2

{

    public class Class1

    {   

        /// <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;

        }

        /// 漢字轉化為拼音首字母

        /// <returns>首字母</returns> 

        public static string GetFirstPinyin(string str)

                    r += t.Substring(0, 1);

    }

}

調用方法:(注意先引用)

GetPinyin("風影");//擷取全拼

GetFirstPinyin("風影");//擷取首字母

是不是非常簡單呢?有了這個類庫就省事多了!順便再補充一下繁簡體互轉的方法,某些時候可能會用到:

先導入

using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;

        /// 簡體轉換為繁體

        /// <param name="str">簡體字</param> 

        /// <returns>繁體字</returns> 

        public static string GetTraditional(string str)

            r = ChineseConverter.Convert(str, ChineseConversionDirection.SimplifiedToTraditional);

        /// 繁體轉換為簡體

        /// <param name="str">繁體字</param> 

        /// <returns>簡體字</returns> 

        public static string GetSimplified(string str)

            r = ChineseConverter.Convert(str, ChineseConversionDirection.TraditionalToSimplified);

該類庫的功能概述

Microsoft Visual Studio International Pack 1.0版 包括以下功能:

East Asia Numeric Formatting Library - 支援将小寫的數字字元串格式化成簡體中文,繁體中文,日文和韓文的大寫數字字元串。

Japanese Kana Conversion Library - 支援将日文假名(Kana)轉化為另一種日文字元。

Japanese Text Alignment Library - 支援日文特有的一種對齊格式。

Japanese Yomi Auto-Completion Library - 類庫支援感覺日文輸入法的輸入自動完成和一個文本框控件的示例。

Korean Auto Complete TextBox Control - 支援韓文輸入法的智能感覺和輸入自動完成的文本框控件。

Simplified Chinese Pin-Yin Conversion Library - 支援擷取簡體中文字元的常用屬性比如拼音,多音字,同音字,筆畫數。

Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool - 支援簡繁體中文之間的轉換。該元件還包含一個Visual Studio內建開發環境中的插件(Add-in)支援簡繁體中文資源檔案之間的轉換。

Visual Studio International Feature Pack 2.0 是對 1.0 版本的擴充,包含一組控件和類庫:

Yomigana      Framework 包含了類庫和控件。

類庫:Yomigana       類庫容許對串(string)類型加注       Yomigana,同時也支援對一般類型的注解功能,任何實作了IEnumerable接口的對象都可以被串類型和泛型的執行個體注解。為了簡化複雜的注解字元串比較特設計了支援各種日文比較選項的比較類型。

通用的一些類,用泛型實作對一個可枚舉的類型注音。

特殊目的的一些類,用以上泛型實作對一個字元串用某種類型中注音。

特殊目的的一些StringAnnotation        類,用以上泛型實作對一個字元串用字元串注音,包括解析和格式化功能。

一個比較器類,使用以上類實作比較字元串。

一個實作了        IEnumerable <string> 的資料結構,把一個字元串分成枚舉的字元串段,并用 IEnumerator <string> 輸出。

控件:

增強的Ajax/WPF/WinForm        文本框(TextBox)控件 用來根據使用者的輸入捕獲讀音。

一個增強的使用Ruby标簽的ASP.NET Label控件。

Chinese Text      Alignment Class Library and TextBox Controls 包含支援簡體中文文本對齊的WinForm 和 WPF 的TextBox控件, 以及供幫助開發人員很容易地按中文文本對齊顯示字元串的一個類庫。

Chinese Auto      Complete Class Library and TextBox Controls 包含支援感覺簡體中文和繁體中文輸入法并自動完成的WinForm 和 WPF 的TextBox控件,      以及供開發人員很容易地向标準控件添加感覺輸入法并自動完成功能的一個類庫。

Korean Auto      Complete Class Library and ComboBox Controls 包含支援感覺韓語輸入法并自動完成的WinForm 和      WPF 的ComboBox控件, 以及供開發人員很容易地向标準控件添加感覺輸入法并自動完成功能的一個類庫。

Numeric      Formatting Class Library 包含支援五種語言的數字格式化成文字的類, 2.0 版支援格式化阿拉伯數字為阿拉伯文字。

可見,這個類庫在開發國際化程式時是非常實用的。 

繼續閱讀