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


全角和半角的互轉在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);
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM