C# 全半角转换

  1. /// <summary>全角半角的相互转换  
  2. ///   
  3. /// </summary>  
  4. public class ConvertDBCAndSBC  
  5. {  
  6.    
  7.     /// <summary>半角转成全角  
  8.     /// 半角空格32,全角空格12288  
  9.     /// 其他字符半角33~126,其他字符全角65281~65374,相差65248  
  10.     /// </summary>  
  11.     /// <param name="input"></param>  
  12.     /// <returns></returns>  
  13.     public string DBCToSBC(string input)  
  14.     {  
  15.         char[] cc = input.ToCharArray();  
  16.         for(int i=0;i<cc.Length;i++)  
  17.         {  
  18.             if(cc[i] == 32)  
  19.             {  
  20.                 // 表示空格  
  21.                 cc[i]=(char)12288;  
  22.                 continue;  
  23.             }  
  24.             if(cc[i] < 127 && cc[i] > 32)  
  25.             {  
  26.                 cc[i]=(char)(cc[i]+65248);                  
  27.             }  
  28.         }  
  29.         return new string(cc);  
  30.     }  
  31.   
  32.     /// <summary>全角转半角  
  33.     /// 半角空格32,全角空格12288  
  34.     /// 其他字符半角33~126,其他字符全角65281~65374,相差65248  
  35.     /// </summary>  
  36.     /// <param name="input"></param>  
  37.     /// <returns></returns>  
  38.     public string SBCToDBC(string input)  
  39.     {  
  40.         char[] cc = input.ToCharArray();  
  41.         for (int i = 0; i < cc.Length; i++)  
  42.         {  
  43.             if(cc[i] == 12288)  
  44.             {  
  45.                 // 表示空格  
  46.                 cc[i] = (char)32;  
  47.                 continue;  
  48.             }  
  49.             if (cc[i] > 65280 && cc[i] < 65375)  
  50.             {  
  51.                 cc[i] = (char)(cc[i] - 65248);                  
  52.             }  
  53.   
  54.         }  
  55.         return new string(cc);  
  56.     }  
  57. }  


测试代码: 

C#代码  收藏代码
  1. static void Main(string[] args)  
  2. {  
  3.     Console.Write("请输入要转为半角的字符:");  
  4.     string str = Console.ReadLine();  
  5.     Console.WriteLine("半角:" + new ConvertDBCAndSBC().SBCToDBC(str));  
  6.     Console.ReadLine();  
  7.   
  8.     Console.Write("请输入要转为全角的字符:");  
  9.     string str2 = Console.ReadLine();  
  10.     Console.WriteLine("全角:" + new ConvertDBCAndSBC().DBCToSBC(str2));  
  11.     Console.ReadLine();  
  12. }  


测试效果: 

posted @ 2012-08-07 20:26  songtzu  阅读(325)  评论(0编辑  收藏  举报