• C#如何实现半角转全角,全角转半角功能?
  • 发布于 2个月前
  • 287 热度
    0 评论

前言:

全角转半角,半角转全角是我们输入法最为常见的功能,最近在用C#开发一个医疗管理系统,在人机交互界面需要实现一个模拟键盘的功能,这里就涉及到半角转全角,全角转半角的输入法切换功能。我们来看一下具体的实现代码。

代码:

#region 全角转换半角以及半角转换为全角
///堆代码 duidaima.com
///转全角的函数(SBC case)
///全角空格为12288,半角空格为32
///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
public static string ToSBC(string input)
{
    // 半角转全角:
    char[] array = input.ToCharArray();
    for (int i = 0; i < array.Length; i++)
    {
        if (array[i] == 32)
        {
            array[i] = (char)12288;
            continue;
        }
        if (array[i] < 127)
        {
            array[i] = (char)(array[i] + 65248);
        }
    }
    return new string(array);
}
 
///转半角的函数(DBC case)
///全角空格为12288,半角空格为32
///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
public static string ToDBC(string input)
{
    char[] array = input.ToCharArray();
    for (int i = 0; i < array.Length; i++)
    {
        if (array[i] == 12288)
        {
            array[i] = (char)32;
            continue;
        }
        if (array[i] > 65280 && array[i] < 65375)
        {
            array[i] = (char)(array[i] - 65248);
        }
    }
    return new string(array);
}
#endregion

总结:

以上就是C#语言实现的全角转半角,半角转全角功能,仅供大家参考。

用户评论