C#中全半角的转换
空格在全角中的键值为12288,在半角中是32。其他字符在全角与半角中之间的差值为65248。
全角转换为半角:
public string ToDBC(string strInput)
{
char[] c=strInput.ToCharArray();
for(int i=0;i<c.Length;i++)
{
if(c[i]==12288)
{
c[i]=(char)32;
}
else if(c[i]>65280 && c[i]<65375)
{
c[i]=(char)(c[i]-65248);
}
}
return new string(c);
}
半角转换为全角:
public string ToSBC(string strInput)
{
char[] c=strInput.ToCharArray();
for(int i=0;i<c.Length;i++)
{
if(c[i]==32)
{
c[i]=(char)12288;
}
else if(c[i]<127)
{
c[i]=(char)(c[i]+65248);
}
}
return new string(c);
}