zoukankan      html  css  js  c++  java
  • [转]c#字符全半角转换

    内容来自网络

    从上面的ASCII码字母表中,可以看到英文字符(半角)的ASCII值处在32到126之间,在进行全角半角转换时,也就是转换这些字符。对于大多数英文字符,将其ASCII值加上65248就变成中文字符了,但是有两个例外:

      半角空格" ",其ASCII值为32,全角空格" ",其ASCII值为12288

      英文句号".",其ASCII值为46,全角句号"。",其ASCII值为12290

      知道这两点,就好转换了

    ///   <summary>  
                      ///   半角转全角  
                      ///   </summary>  
                      ///   <param   name="BJstr"></param>  
                      ///   <returns></returns>  
                      static   public   string   GetQuanJiao(string   BJstr)  
                      {  
                              #region  
                              char[]   c   =   BJstr.ToCharArray();  
                              for   (int   i   =   0;   i   <   c.Length;   i++)  
                              {  
                                      byte[]   b   =   System.Text.Encoding.Unicode.GetBytes(c,   i,   1);  
                                      if   (b.Length   ==   2)  
                                      {  
                                              if   (b[1]   ==   0)  
                                              {  
                                                      b[0]   =   (byte)(b[0]   -   32);  
                                                      b[1]   =   255;  
                                                      c[i]   =   System.Text.Encoding.Unicode.GetChars(b)[0];  
                                              }  
                                      }  
                              }  
       
                              string   strNew   =   new   string(c);  
                              return   strNew;  
       
                              #endregion  
                      }  
       
                      ///   <summary>  
                      ///   全角转半角  
                      ///   </summary>  
                      ///   <param   name="QJstr"></param>  
                      ///   <returns></returns>  
                      static   public   string   GetBanJiao(string   QJstr)  
                      {  
                              #region  
                              char[]   c   =   QJstr.ToCharArray();  
                              for   (int   i   =   0;   i   <   c.Length;   i++)  
                              {  
                                      byte[]   b   =   System.Text.Encoding.Unicode.GetBytes(c,   i,   1);  
                                      if   (b.Length   ==   2)  
                                      {  
                                              if   (b[1]   ==   255)  
                                              {  
                                                      b[0]   =   (byte)(b[0]   +   32);  
                                                      b[1]   =   0;  
                                                      c[i]   =   System.Text.Encoding.Unicode.GetChars(b)[0];  
                                              }  
                                      }  
                              }  
                              string   strNew   =   new   string(c);  
                              return   strNew;  
                              #endregion  
                      }

  • 相关阅读:
    更换笔记本电脑记录数据迁移过程
    solaris下的目录ls不到,却能cd进去
    轻松掌握ORACLE 11GR2的RAC实施
    魏公村口腔医院挂号
    springstrutshibernate学习
    oracle RAC启动序列
    HPUX内存监控
    DOM操作 vs. innerHTML
    oracle导入导出技巧
    jQuery幻灯片带缩略图平移滑动焦点图
  • 原文地址:https://www.cnblogs.com/xinyuxin912/p/1589956.html
Copyright © 2011-2022 走看看