C# 中英文符号互转(半角全角互转)
#半角转全角
/// <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);
}
作者:willingtolove
出处:http://www.cnblogs.com/willingtolove/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。