[轉貼] 好用的簡繁體與全半形轉換元件

2012080910:41
出處:http://www.uuu.com.tw/public/content/article/100816tips.htm

在開發程式時,總不免會有讀取各種的文件的需求出現,而在撰寫程式處理各種文件的過程中,遇到所處理不同的文字特別煩人,例如訂單有繁體又有簡體或是文字或符號有全形又有半形;在這種時候,總是讓人束手無策,往往求救無門的就只好先"手動"來將文件統一,或是有點小聰明的就會找到"其他的工具"來先轉換文件。但是不管是哪一種,總不如直接使用.NET的程式直接撰寫來的快對吧?

其實在Visual Basic內建的類別Strings中,就提供了一套能夠轉換繁簡體與全半形的函式,使用這套元件時,如果您是C#的開發者,就必須要先加入Microsoft.VisualBasic.dll元件的參考,如下圖所示:

而加入參考之後,也要記得順便引用一下Microsoft.VisualBasic的命名空間,才能直接使用Strings類別。
我們要使用的是Strings類別中的StrConv方法,該方法需要提供三個參數:
 1. 欲處理的字串
 2. 轉型的類型(為一列舉常數VbStrConv)
 3. 處理字元的LocaleID,選擇性參數,不提供則使用系統預設值

例如我們有一段全形的文字,希望能夠轉換成為半形,那我們就可以在第二個參數使用列舉常數VbStrConv的Narrow來指定轉換為半形,如下列程式碼:

 string s1 = "HELLO!";
 string s2 = Strings.StrConv(s1, VbStrConv.Narrow);
 MessageBox.Show(s2);
 

那麼在執行之後就會出現如下圖,程式將半形文字"Hello!"顯示在訊息視窗內。

又或者我們有一段簡體的文字,希望能轉換成為繁體,那我們也可以使用第二個參數使用列舉常數VbStrConv的TraditionalChinese來指定轉換為繁體,至於第三個參數我們可以使用1033,如下列程式碼:

 string s3 = "好用的简繁体与全半形转换元件";
 string s4 = Strings.StrConv(s3, VbStrConv.TraditionalChinese, 1033);
 MessageBox.Show(s4);
那麼在執行之後就會出現如下圖,程式將繁體文字"好用的簡繁體與全半形轉換元件"顯示在訊息視窗內。

了解這套函式使用方式,你以後在轉換繁簡體與全半形時,就可以輕鬆自己做不求人了。

相關參考:
StrConv 函式
CultureInfo 類別