C#将中文标点符号替换成英文标点符号

幽浮404
幽浮404 6月28日
  • 在其它设备中阅读本文章

/// 转全角的函数 (SBC case) ///

/// 任意字符串 /// 全角字符串 ///
/// 全角空格为 12288, 半角空格为 32
/// 其他字符半角(33-126) 与全角 (65281-65374) 的对应关系是:均相差 65248 ///

public string ToSBC(string input)
{ 
  char[] c=input.ToCharArray();
  for (int i = 0; i < c.Length; i++)
  {
   if (c[i]==32)
  {
   c[i]=(char)12288; continue;
  }
  if (c[i]<127) c[i]=(char)(c[i]+65248);
  }
return new string(c);
}

/// 转半角的函数 (DBC case) ///
/// 任意字符串
/// 半角字符串 ///
/// 全角空格为 12288,半角空格为 32
/// 其他字符半角(33-126) 与全角 (65281-65374) 的对应关系是:均相差 65248 ///

public string ToDBC(string input)
{
char[] c=input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
   if (c[i]==12288)
   {
   c[i]= (char)32; continue;
   }
   if (c[i]>65280 && c[i]<65375)
   c[i]=(char)(c[i]-65248);
   }
   return new string(c);
 }