全半角转换DLL

namespace ToolsStringOption
{
    /// <summary>
    /// 全半角的转换
    /// </summary>
   public class DBCAndSBC
    {

       /// <summary>
       /// 半角转换成全角
       /// 全角的(SBC) 的空格为12288,半角(DBC)的空格为:32
       /// 半角的字母为:33-126,对应的全角为:65281-65374
       /// 除空格外。其他的全半角相差65248
       /// </summary>
       /// <param name="input">输入的字符数</param>
       /// <returns></returns>
       public string DbcToSbc(string input)
       {
           char[] c = input.ToCharArray();
           for (int i = 0; i < c.Length; i++)
           {
               if (c[i] == 32)
               {
                   c[i] = (char)12288;
               }
               if (c[i] >= 33 && c[i] <= 127)
               {
                   c[i] = Convert.ToChar((Convert.ToInt32(c[i])) + 65248);
               }
          
           }
           return new string(c);
       }

       /// <summary>
       /// 将全角转换为半角
       /// </summary>
       /// <param name="input"></param>
       /// <returns></returns>
       public string SbcToDbc(string input)
       {
           char[] c = input.ToCharArray();
           for (int i = 0; i < c.Length; i++)
           {
               if (c[i] == 12288)
               {
                   c[i] = Convert.ToChar(32);
               }
               if(c[i]>65281&&c[i]<65374)
               {
               c[i]=Convert.ToChar((int)c[i]-65248);
               }
           }
           return new string(c);
       }
    }
}

posted @ 2011-05-28 11:07  风云8  阅读(259)  评论(0)    收藏  举报