[C#] .net全半角相互转换 →→→→→进入此内容的聊天室

来自 , 2020-03-18, 写在 C#, 查看 112 次.
URL http://www.code666.cn/view/9457fc28
  1. /// <summary>
  2.     /// 转全角的函数(SBC case)
  3.     /// </summary>
  4.     /// <param name="input">任意字符串</param>
  5.     /// <returns>全角字符串</returns>
  6.     ///<remarks>
  7.     ///全角空格为12288,半角空格为32
  8.     ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
  9.     ///</remarks>
  10.     public static string ToSBC(string input)
  11.     {
  12.         //半角转全角:
  13.         char[] c = input.ToCharArray();
  14.         for (int i = 0; i < c.Length; i++)
  15.         {
  16.             if (c[i] == 32)
  17.             {
  18.                 c[i] = (char)12288;
  19.                 continue;
  20.             }
  21.             if (c[i] < 127)
  22.                 c[i] = (char)(c[i] + 65248);
  23.         }
  24.         return new string(c);
  25.     }
  26.  
  27.  
  28.     /// <summary> 转半角的函数(DBC case) </summary>
  29.     /// <param name="input">任意字符串</param>
  30.     /// <returns>半角字符串</returns>
  31.     ///<remarks>
  32.     ///全角空格为12288,半角空格为32
  33.     ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
  34.     ///</remarks>
  35.     public static string ToDBC(string input)
  36.     {
  37.         char[] c = input.ToCharArray();
  38.         for (int i = 0; i < c.Length; i++)
  39.         {
  40.             if (c[i] == 12288)
  41.             {
  42.                 c[i] = (char)32;
  43.                 continue;
  44.             }
  45.             if (c[i] > 65280 && c[i] < 65375)
  46.                 c[i] = (char)(c[i] - 65248);
  47.         }
  48.         return new string(c);
  49.     }

回复 ".net全半角相互转换"

这儿你可以回复上面这条便签

captcha