C#全形半形轉換函式

iDotNetSpace發表於2009-10-28

從jyk的分頁程式碼中取出來的一段程式碼,做一個備忘

 

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt    #region 全形半形轉換
        
/// 
        
/// 轉全形的函式(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);
        }
        
#endregion

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

相關文章