zoukankan      html  css  js  c++  java
  • ASP.NET技巧:全角字符转换为半角

    方法一:
    /**//// <summary>
        /// 判断字符是否英文半角字符或标点
        /// </summary>
        /// <remarks>
        /// 32    空格
        /// 33-47    标点
        /// 48-57    0~9
        /// 58-64    标点
        /// 65-90    A~Z
        /// 91-96    标点
        /// 97-122    a~z
        /// 123-126 标点
        /// </remarks>
        public static bool IsBjChar(char c)
        {
          int i = (int)c;
          return i >= 32 && i <= 126;
        }

        /**//// <summary>
        /// 判断字符是否全角字符或标点
        /// </summary>
        /// <remarks>
        /// <para>全角字符 - 65248 = 半角字符</para>
        /// <para>全角空格例外</para>
        /// </remarks>
        public static bool IsQjChar(char c)
        {
          if (c == '\u3000') return true;

          int i = (int)c - 65248;
          if (i < 32) return false;
          return IsBjChar((char)i);
        }

        /**//// <summary>
        /// 将字符串中的全角字符转换为半角
        /// </summary>
        public static string ToBj(string s)
        {
          if (s == null || s.Trim() == string.Empty) return s;

          StringBuilder sb = new StringBuilder(s.Length);
          for (int i = 0; i < s.Length; i++)
          {
            if (s[i] == '\u3000')
              sb.Append('\u0020');
            else if (IsQjChar(s[i]))
              sb.Append((char)((int)s[i] - 65248));
            else
              sb.Append(s[i]);
          }

          return sb.ToString();
        }

  • 相关阅读:
    About HDFS blocks
    Hadoop源代码分析(一)
    Hadoop源代码分析(三)
    MapReduce基础
    Pig安装与配置教程
    MapReduce数据流(三)
    MapReduce数据流(二)
    c++中的临时对象
    如何修改CMD命令行窗口下的默认路径
    VC2005: warning LNK4076: 无效的增量状态文件
  • 原文地址:https://www.cnblogs.com/lann/p/1547858.html
Copyright © 2011-2022 走看看