在程序设计中有时会遇到的全角和半角的字符,比如利用关键字查询某些信息,输入相同字符的全角和半角如果不进行处理就会造成获得的结果不相同。因此,在需要转换全角半角的地方下面两个函数会对你有所帮助。
转换依据:全角空格为12288,半角空格为32,其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248。
半角:DBC case 全角:SBC case
1、内容转为全角。
public class CharacterTransClass
{
///</remarks>
public static string ToSBC(string inputString)
{
//半角转全角:
char[] CharacterArray = inputString.ToCharArray();
for (int i = 0; i < CharacterArray.Length; i++)
{
if (CharacterArray[i] == 32)
{
CharacterArray[i] = (char)12288;
continue;
}
if (CharacterArray[i] < 127)
CharacterArray[i] = (char)(CharacterArray[i] + 65248);
}
return new string(CharacterArray);
}
2、内容转为半角。
public static string ToDBC(string inputString)
{
char[] CharacterArray = inputString.ToCharArray();
for (int i = 0; i < CharacterArray.Length; i++)
{
if (CharacterArray[i] == 12288)
{
CharacterArray[i] = (char)32;
continue;
}
if (CharacterArray[i] > 65280 && CharacterArray[i] < 65375)
CharacterArray[i] = (char)(CharacterArray[i] - 65248);
}
return new string(CharacterArray);
}
}