c# 簡繁體轉換

方法一

 /// <summary>
 /// 中文字符工具類
 /// </summary>
 public static class ChineseStringUtility {
     private const int LOCALE_SYSTEM_DEFAULT = 0x0800;
     private const int LCMAP_SIMPLIFIED_CHINESE = 0x02000000;
     private const int LCMAP_TRADITIONAL_CHINESE = 0x04000000;
  
     [DllImport("kernel32", CharSet = CharSet.Auto, SetLastError = true)]
     private static extern int LCMapString(int Locale, int dwMapFlags, string lpSrcStr, int cchSrc, [Out] string lpDestStr, int cchDest);
  
     /// <summary>
     /// 將字符轉換成簡體中文
     /// </summary>
     /// <param name="source">輸入要轉換的字符串</param>
     /// <returns>轉換完成後的字符串</returns>
     public static string ToSimplified(string source) {
         String target = new String(' ', source.Length);
         int ret = LCMapString(LOCALE_SYSTEM_DEFAULT, LCMAP_SIMPLIFIED_CHINESE, source, source.Length, target, source.Length);
         return target;
     }
  
     /// <summary>
     /// 講字符轉換爲繁體中文
     /// </summary>
     /// <param name="source">輸入要轉換的字符串</param>
     /// <returns>轉換完成後的字符串</returns>
     public static string ToTraditional(string source) {
         String target = new String(' ', source.Length);
         int ret = LCMapString(LOCALE_SYSTEM_DEFAULT, LCMAP_TRADITIONAL_CHINESE, source, source.Length, target, source.Length);
         return target;
    }
 }

 

 

 

方法二

 

這東西雖然簡單,但也不失爲經典的類庫,個人而言,就非常喜歡這個類庫。

   用文字記錄下來吧,留個記念吧

   在vs中,有一個經典的Microsoft.VisualBasic.dll的VB類庫,根據官方的描述:

   它能提供對許多 .NET Framework 類的簡單直觀的訪問,使您能夠編寫可與計算機、應用程序、設置、資源等交互的操作及方法代碼。

  這次,寫一個比較經典的東西,簡體字轉繁體字的操作方法,要進行操作,先引用類庫.

  我們可以在項目中引用Microsoft.VisualBasic.dll就可以了

 

 

實現簡體繁體轉換方法:

Microsoft.VisualBasic.Strings.StrConv(string str, VbStrConv Conversion, int LocaleID);

簡繁轉換,只是枚舉值不一樣而以

簡體轉繁體:Microsoft.VisualBasic.Strings.StrConv(string str, VbStrConv.TraditionalChinese,0) 
繁體轉簡體:Microsoft.VisualBasic.Strings.StrConv(string str VbStrConv.SimplifiedChinese,0)

Str: 要轉換的 String 表達式。 
Conversion: Microsoft.VisualBasic.VbStrConv。指定要執行的轉換類型的枚舉值。 
LocaleID: LocaleID 值(如果與系統 LocaleID 值不同)。(系統 LocaleID 值爲默認值。)

實際使用怎樣?那麼我們做一個測試

    class Program
    {
        static void Main(string[] args)
        {
            Console.Write(Microsoft.VisualBasic.
             Strings.StrConv("博客園",
             Microsoft.VisualBasic.VbStrConv.TraditionalChinese, 0));
            Console.Read();
        }
    }
輸出結果是(直接上張圖吧,比較直觀)

 

轉自:http://blog.csdn.net/weiqian000/article/details/5565415



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章