日期:2014-05-18 浏览次数:21027 次
/// <summary>
/// 转换全角
/// 全角的空格是12288,半角是32
/// 其它的字符半角(33-126),全角(65281-65374)的对应关系,相差65248
/// </summary>
/// <param name="input">要转换的半角</param>
/// <returns>string</returns>
/// <remarks></remarks>
public string DBCToSBC(string input)
{
char[] value = input.ToCharArray();
for (int i = 0; i < value.Length; i++)
{
if (value[i] == 32)//半角的空格
{
value[i] = (char)12288;//全角空格
continue;
}
if (value[i]<126)
{
value[i] = (char)(value[i] + 65248);
}
}
return new string(value);
} /// <summary>
/// 全角转半角
/// </summary>
/// <param name="input">要转换的全角</param>
/// <returns></returns>
/// <remarks></remarks>
public string SBCToDBC(string input)
{
char[] value = input.ToCharArray();
for (int i = 0; i <value.Length; i++)
{
if (value[i]==12288)
{
value[i]=(char)32;
continue;
}
if (value[i] < 65374 && value[i] > 65281)
{
value[i] = (char)(65248-value[i]);
}
}
return new string(value);
}