ASP.NET技巧:全角字符转换为半角

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

方法二:
添加 Microsoft Visual Basic.NET Runtime 引用。
Console.WriteLine(Microsoft.VisualBasic.Strings.StrConv("abcdefg", VbStrConv.Narrow, 0));

时间: 2024-12-05 01:58:41

ASP.NET技巧:全角字符转换为半角的相关文章

php全角字符转换为半角函数_php技巧

之前试过网上找的通过ASCII之类的字符替换,发现很多莫名其妙的问题.最后还是换成下面的字符替换方式了,把目前能找到的所有全角都列出来了一个个替换吧 复制代码 代码如下: /** * 全角字符转换为半角 * * @param string $str * @return string */ public function Sbc2Dbc($str) { $arr = array( '0'=>'0', '1'=>'1', '2'=>'2', '3'=>'3', '4'=>'4',

java全角字符转换为半角 半角转全角

/// <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 =

PHP实现全角字符转为半角方法汇总_php技巧

最简单的方法 <?php $str = "0123ABCDFWS\",.?<>{}[]*&^%#@!-()+-|::"; echo "$str"; echo "<br />"; $str = preg_replace('/\xa3([\xa1-\xfe])/e', 'chr(ord(\1)-0x80)', $str); echo $str; 这是网上看来的代码,所有的中文标点的第二个字节减去0X80(即128

word教你批量转换全角字符为半角字符

  word使用技巧:教你批量转换全角字符为半角字符 1.首先全选; 2.然后"格式"→"更改大小写";   3.在对话框中先选中"半角",确定即可.

又一个字符串,由全角字符,半角字符构成,如何截取该字符串,全角算两个字符

问题描述 又一个字符串,由全角字符,半角字符构成,如何截取该字符串,全角算两个字符 解决方案 解决方案二:看看这个是你要的吗?///<summary>///取中文字串///</summary>///<paramname="content">内容</param>///<paramname="length">长度</param>///<returns></returns>pr

全角字符与半角字符的相互转换(C#)

     看到视频里有做这个例子,对着视频把代码打了一遍,测试成功,先记下来,以备后用!!! Code/// <summary>全角半角的相互转换/// /// </summary>public class ConvertDBCAndSBC{     /// <summary>半角转成全角    /// 半角空格32,全角空格12288    /// 其他字符半角33~126,其他字符全角65281~65374,相差65248    /// </summary&g

使用Python转换全角字符串为半角

关于全角转换为半角的问题,其实源自在公司的运营人员在输入法切换的时候选择了全角,结果导致程序有时候没有办法进行解析. 为了避免这样的问题再次出现,于是就有了将全角转换为半角的问题了. 在这里,会对以下内容进行描述: 什么是全角 如何将全角字符转换为半角 使用python实现上述转换操作 我们知道在编码中,存储在计算机中仅仅是1个数字,而编码其实充当的是1种转换的过程,如果将1个字符转换为1个数字而问题. 全角和半角 一般情况下,普通的英文字符只占用1个字节的空间,而1个字节有8位,因此可以存储2

正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度_javascript技巧

判断是否存在中文和全角字符 str.match(/[^\x00-\xff]/ig) 判断包含中文字符串长度 aMatch=str.match(/[^\x00-\x80]/g); str.length+(!aMatch?0:aMatch.length) javascript 判断中文字符长度 一种: 复制代码 代码如下: function _length(str){ var len=0; for(var i=0;i<str.length;i++){ if(str.charAt(i)>'~'){l

如何转换全角字符到半角字符

我们知道,在windows中,中文和全角字符都占两个字节,并且使用了ascii chart 2 (codes 128–255).我们可以凭这一点来一个个检测用户输入的是否是中文和全角字符.实际上,全角字符的第一个字节总是被置为163,而第二个字节则是相同半角字符码加上128(不包括空格).如半角a为65,则全角a则是163(第一个字节).193(第二个字节,128+65).而对于中文来讲,它的第一个字节被置为大于163,(如'阿'为:176 162),我们可以在检测到中文时不进行转换. 以上仅为