• 4月
    4日
    全角字符与半角字符互相转换
    C# dier 2014-04-04 05:09 6449 0

    半角字符和全角字符的编码有一定的规则,利用此规则相对应,可实现字符的互相转换。

    半角空格为32,全角空格为12288;

    其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248。


    写两个方法,可实现全角转半角,以及半角转全角。

    // 半角转全角(SBC case)
    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;
    	   else if (array[i] < 127) array[i] = (char)(array[i] + 65248);
       }
       return new string(array);
    }
    
    // 全角转半角(DBC case)
    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;
    	   else if (array[i] > 65280 && array[i] < 65375) array[i] = (char)(array[i] - 65248);
       }
       return new string(array);
    }


文章评论