#半角转全角
/// <summary>
/// 半角转全角
/// 半角空格为32,全角空格为12288
/// 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
/// </summary>
/// <param name="input">输入包含半角字符的字符串</param>
/// <returns>返回全角的字符串</returns>
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);
}
#全角转半角
/// <summary>
/// 全角转半角
/// 全角空格为12288,半角空格为32
/// 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
/// </summary>
/// <param name="input">输入包含全角字符的字符串</param>
/// <returns>返回半角字符串</returns>
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);
}
|
请发表评论