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();
        }

  • 相关阅读:
    HDU 3091 Necklace <<状压dp
    HDU 1074 Doing Homework<<状压dp
    单片机程序设计中的“分层思想”
    单片机的 FIFO循环队列实现
    串口多字节接收
    单片机多字节串口接收(转)
    SD卡应用总结(Fatfs)
    FATFS 初学之 磁盘 I/O接口
    FATFS 初学之 f_gets/ f_putc/ f_puts/ f_printf
    FATFS 初学之 f_chdir/ f_chdrive
  • 原文地址:https://www.cnblogs.com/lann/p/1547858.html
Copyright © 2011-2022 走看看