半角與全角的相互轉換

 1         /// <summary>
 2         /// 轉全角的函數(SBC case)
 3         /// </summary>
 4         /// <param name="input">任意字符串</param>
 5         /// <returns>全角字符串</returns>
 6         ///<remarks>
 7         ///全角空格爲12288,半角空格爲32
 8         ///其餘字符半角(33-126)與全角(65281-65374)的對應關係是:均相差65248
 9         ///</remarks>
10         public  static string ToSBC(string input)
11         {
12             //半角轉全角:
13             char[] c=input.ToCharArray();
14             for (int i = 0; i < c.Length; i++)
15             {
16                 if (c[i]==32)
17                 {
18                     c[i]=(char)12288;
19                     continue;
20                 }
21                 if (c[i]<127)
22                     c[i]=(char)(c[i]+65248);
23             }
24             return new string(c);
25         }
26 
27 
28         /// <summary> 轉半角的函數(DBC case) </summary>
29         /// <param name="input">任意字符串</param>
30         /// <returns>半角字符串</returns>
31         ///<remarks>
32         ///全角空格爲12288,半角空格爲32
33         ///其餘字符半角(33-126)與全角(65281-65374)的對應關係是:均相差65248
34         ///</remarks>
35         public static string ToDBC(string input)
36         {
37             char[] c=input.ToCharArray();
38             for (int i = 0; i < c.Length; i++)
39             {
40                 if (c[i]==12288)
41                 {
42                     c[i]= (char)32;
43                     continue;
44                 }
45                 if (c[i]>65280 && c[i]<65375)
46                     c[i]=(char)(c[i]-65248);
47             }
48             return new string(c);
49         }
相關文章
相關標籤/搜索