ASP.NET中检测含有中文字符串的实际长度

以下就是在ASP.NET中检测含有中文字符串的实际长度,这个可能在很多地方都用的上.
  
    VB.NET的写法:
   Function StrLength(Byval Str As String) As Integer
     Dim En As ASCIIEncoding=New ASCIIEncoding ()
   Dim B As Byte()=En.GetBytes(Str)
   Dim i As Integer=0
   Dim Length As Integer=0
   For i=0 To B.Length-1
   If B(i)=63 Then
   Length+=1
   End If
   Length+=1
   Next
   Return Length
   End Function
  
   以下是C#的写法:
     function int StrLength(string Str)
   {
   ASCIIEncoding En=new ASCIIEncoding();
   Byte[] B=En.GetBytes(Str);
   int Length=0;
   for(i=0;i<=B.Length-1;i++)
   {
   if(B==63)
   {
   Length+=1;
   }
   Length +=1;
   }
   return Length;
   }

时间: 2024-09-20 05:41:37

ASP.NET中检测含有中文字符串的实际长度的相关文章

检测含有中文字符串的实际长度_基础应用

我们在实际过程中要经常去检测含有中文字符串的实际长度, 因为中文字符,和英文字符在一起的话.判断起来你麻烦点. 原理跟在asp中的一样.逐个去判断.是中文加2英文加1. 复制代码 代码如下: ASCIIEncoding n = new ASCIIEncoding(); byte[] b = n.GetBytes(str); int l = 0; // l 为字符串之实际长度 for (int i=0;i <= b.Length-1;i++) { if (b[i] ==63) //判断是否为汉字或

检测含有中文字符串的实际长度

中文|字符串 "*************测字符串长度**************Function CheckStringLength(txt) txt=trim(txt) x = len(txt) y = 0 for ii = 1 to x if asc(mid(txt,ii,1)) < 0 or asc(mid(txt,ii,1)) >255 then "如果是汉字 y = y + 2 else y = y + 1 end if next CheckStringLeng

CodeIgniter 完美解决URL含有中文字符串_php技巧

codeIgniter默认的配置下是不允许URL中包含非ASCII字符的,如果URL中含非ASCII字符,那么CI会毫不客气的抛出错误.本文章向码农介绍CodeIgniter 如何解决URL含有中文字符串. 你 可能会说,那我把这个URL使用函数urlencode一下呢?不行.因为Web Server会在接收到一个被urlencode的URL后自动将其decode,然后在PHP里得到的这些字符串转换成他原来所代表的含义,并使用 Web Server自己的URL编码字符集(IIS6 中文版是GBK

查找目录下的所有文件中是否含有某个字符串 linux

查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式    (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/.*.?等)组成.   (2)基本元字符集及其含义       ^ :只匹配行首.   如^a 匹配以a开头的行abc,

获取中文字符串的实际长度代码_javascript技巧

JS中默认中文字符长度和其它字符长度计算方法是一样的,但某些情况下我们需要获取中文字符串的实际长度,代码如下: 复制代码 代码如下: function strLength(str) { var realLength = 0, len = str.length, charCode = -1; for (var i = 0; i < len; i++) { charCode = str.charCodeAt(i); if (charCode >= 0 && charCode <

js检测用户名中是否含有中文汉字

function checkifenglish(string) {     var letters = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz1234567890_";      var i;      var c;      for( i = 0; i < string.length; i ++ )      {           c = string.charat( i );    if (letters.

NSIS怎么判断安装路径中是否含有中文

问题描述 因为tomcat不允许安装在中文目录下.在用NSIS软件打包成.exe文件后,在安装过程中怎么判断安装的路径是否含有中文,如果含有中文给出提示 解决方案 解决方案二:;安装路径选择页面路径变化时会调用该函数Function.onVerifyInstDirStrCpy$0$INSTDIRStrLen$1$0StrCpy$2'';每个中文会给strlen增加2,所以copy1个字符时,会遇到不可显示字符,会被NSIS自动改成?;正好?本身是非法路径,所以可以用这个来判断路径是否非法${Do

thinkphp中的截取中文字符串函数msubstr()用法

看了很多教程说的是thinkphp可以在模板中直接使用msubstr方法来截取中文字符串,可是零度使用过程中却发现根本无法使用,百度一下知道,原来是因为think文件夹里没有放这个函数,现在贴出来,以便没有的网友直接拿过去用. 问题:使用ThinkPHP字符截取报错"Call to undefined function msubstr()" 解决方案: 把以下代码复制到ThinkPHP/Common/function.php文件中,我说的是3.23版本,其他版本复制到到公用函数文件里就

ASP.NET中Request.Form中文乱码的解决方法

背景 涉及到两个网站的通信,网站A有一页面a,用提交表单的方式,传值到网站B的页面b.网站A统一用UTF-8编码,网站B统一用GB2312编码. web.config中编码的设置 网站A:<globalization requestEncoding="UTF-8" responseEncoding="UTF-8" /> 网站B:<globalization requestEncoding="gb2312" responseEnc