全角半角的互转

半角转全角:

 c="hello World".ToCharArray();
        for (int i=0;i<c.Length;i++)
        {
            byte[] b=System.Text.Encoding.Unicode.GetBytes(c,i,1);
            if (b.Length= =2)
                  {
                   if (b[1]= =0)
                         {
                       b[0]=(byte)(b[0]-32);
                       b[1]=255;
                       c[i]=System.Text.Encoding.Unicode.GetChars(b)[0];
                         }
                  }
        }

string strNew=new string(c);

全角转半角:

string QJstr = "hello,Amigo  quanjiao字符";
  char[] c=QJstr.ToCharArray();
  for (int i=0;i<c.Length;i++)
  {
   byte[] b=System.Text.Encoding.Unicode.GetBytes(c,i,1);
   if (b.Length= =2)
   {
    if (b[1]= =255)
    {
     b[0]=(byte)(b[0]+32);
     b[1]=0;
     c[i]=System.Text.Encoding.Unicode.GetChars(b)[0];
    }
   }
  }
  string strNew=new string(c);

javascript中全角转半角

function DBC2SBC(str)
{
 var result = '';
 for (i=0 ; i<str.length; i++)
 {
  code = str.charCodeAt(i);//获取当前字符的unicode编码
  if (code >= 65281 && code <= 65373)//在这个unicode编码范围中的是所有的英文字母已经各种字符
  {
   result += String.fromCharCode(str.charCodeAt(i) - 65248);//把全角字符的unicode编码转换为对应半角字符的unicode码
  }else if (code == 12288)//空格
  {
   result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);
  }else
  {
   result += str.charAt(i);
  }
 }
 return result;
}
 
在C#中。直接用(int)(char)强类型转换即可

你可能感兴趣的:(全角)