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;
    }
 }spa

 

 

 

方法二.net

 

这东西虽然简单,但也不失为经典的类库,我的而言,就很是喜欢这个类库。blog

   用文字记录下来吧,留个纪念吧资源

   在vs中,有一个经典的Microsoft.VisualBasic.dll的VB类库,根据官方的描述:字符串

   它能提供对许多 .NET Framework 类的简单直观的访问,使您可以编写可与计算机、应用程序、设置、资源等交互的操做及方法代码。get

  此次,写一个比较经典的东西,简体字转繁体字的操做方法,要进行操做,先引用类库.博客

  咱们能够在项目中引用Microsoft.VisualBasic.dll就能够了string

 

 

实现简体繁体转换方法:

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