C#下實現的半角轉與全角的互轉

 

/// 轉全角的函數(SBC case)
        ///
        ///任意字符串
        ///全角字符串
        ///
        ///全角空格爲12288,半角空格爲32
        ///其餘字符半角(33-126)與全角(65281-65374)的對應關係是:均相差65248
        ///
        public static 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);
        }

        /**/
        // /
        // / 轉半角的函數(DBC case)
        // /
        // /任意字符串
        // /半角字符串
        // /
        // /全角空格爲12288,半角空格爲32
        // /其餘字符半角(33-126)與全角(65281-65374)的對應關係是:均相差65248
        // /
        public static 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);
        }
相關文章
相關標籤/搜索