c#全半形轉換示例程式碼

wisdomone1發表於2011-11-25
 同事提出TCBS代發工資校驗介面如果輸入全形字元,則提示校驗失敗.於是查詢了相關資料,摘錄於此,供後用!

/**////
        /// 轉全形的函式(SBC case)
        ///

        /// 任意字串
        /// 全形字串
        ///
        ///全形空格為12288,半形空格為32
        ///其他字元半形(33-126)與全形(65281-65374)的對應關係是:均相差65248
        ///
       
        public 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 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);
        }




另一則關於全半解釋義比較全面

http://space.itpub.net/12639172/viewspace-608975


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-712114/,如需轉載,請註明出處,否則將追究法律責任。

相關文章