精华内容
下载资源
问答
  • 获取字符串长度

    2019-10-03 11:46:44
    在验证用户输入字符长度的时候,系统默认统计字符是按照个数来统计的,而.../// 获取指定字符串长度,汉字以2字节计算 /// </summary> /// <param name="str">要统计的字符串</param> /// &l...

    在验证用户输入字符长度的时候,系统默认统计字符是按照个数来统计的,而实际一个汉字要以2字节计算,否则存入数据库的时候数据过多就会出现错误!

    /// <summary> /// 获取指定字符串长度,汉字以2字节计算 /// </summary> /// <param name="str">要统计的字符串</param> /// <returns>返回字符串长度</returns> private static int GetLength1(String str) { byte[] strText = System.Text.Encoding.Default.GetBytes(str); return strText.Length; }

      /// <summary> /// 获取指定字符串长度,汉字以2字节计算 /// </summary> /// <param name="str">要统计的字符串</param> /// <returns>返回字符串长度</returns> private static int GetLength(String str) { int Length = str.Length; char[] chars = str.ToCharArray(); for (int i = 0; i < chars.Length; i++) { if (System.Convert.ToInt32(chars[i]) > 255) { Length++; } } return Length; } /// <summary> /// 得到字符串的长度,一个汉字算2个字符 ///</summary> /// <param name="str">字符串</param> /// <returns>返回字符串长度</returns> public static int GetLength(string str) { if (str.Length == 0) return 0; ASCIIEncoding ascii = new ASCIIEncoding(); int Length = 0; byte[] s = ascii.GetBytes(str); for (int i = 0; i < s.Length; i++) { if ((int)s[i] == 63) { Length += 2; } else { Length += 1; } } return Length; } 

    转载于:https://www.cnblogs.com/intcry/archive/2010/12/03/2014545.html

    展开全文
  • 获取字符串长度 string str = “ABCDadcf测试”; int l = str.Length; 获取字符串字节长度 public int ByteLength(string str) { //使用Unicode编码的方式将字符串转换为字节数组,它将所有字符串...

    获取字符串长度

    string str = “ABCDadcf测试”;
    int l = str.Length;

     

    获取字符串字节长度

    public int ByteLength(string str)
            {
                //使用Unicode编码的方式将字符串转换为字节数组,它将所有字符串(包括英文中文)全部以2个字节存储
                byte[] bytestr = System.Text.Encoding.Unicode.GetBytes(str);
                int j = 0;
                for (int i = 0; i < bytestr.GetLength(0); i++)
                {
                    //取余2是因为字节数组中所有的双数下标的元素都是unicode字符的第一个字节
                    if (i % 2 == 0)
                    {
                        j++;
                    }
                    else
                    {
                        //单数下标都是字符的第2个字节,如果一个字符第2个字节为0,则代表该Unicode字符是英文字符,否则为中文字符
                        if (bytestr[i] > 0)
                        {
                            j++;
                        }
                    }
                }
                return j;
            }

     

    转载于:https://www.cnblogs.com/xiarongrong/p/5168713.html

    展开全文
  • 获取字符串 长度

    2017-04-13 11:43:32
    String.length:该属性返回字符串中字符编码单元的数量。JavaScript 使用 UTF-16 编码,该编码使用一个 16 比特的编码单元来表示大部分常见的字符,使用两个代码单元表示不常用的字符(高位编码单元)。因此 length ...
        

    String.length:
    该属性返回字符串中字符编码单元的数量。JavaScript 使用 UTF-16 编码,该编码使用一个 16 比特的编码单元来表示大部分常见的字符,使用两个代码单元表示不常用的字符(高位编码单元)。因此 length 返回值可能与字符串中实际的字符数量不相同。MDN => String.length

    高位编码单元 是使用一对(低位编码(lower valued))代理伪字符("surrogate" pseudo-characters)来表示,从而构成一个真正的字符。String.prototype.charCodeAt()

    function strLen ( str ) {
        var len = 0,
            ret = 0, 
            i = 0,
            code,
            nextCode;
        
        if ( str == null ) return ret;
    
        str = String( str );
        len = str.length;
        
        if ( len == 0 ) return ret;
    
        for (;i < len; i++ ) {
    
            code = str[i].charCodeAt(0);
    
            if ( code >= 0xD800 && code <= 0xDBFF ) {
                nextCode = str[i + 1].charCodeAt(0);
                if ( nextCode >= 0xDC00 && nextCode <= 0xDFFF ) i++;
            }
    
            ret++;
        }
        return ret;
    }
    var str = '?';
    str.length; // 2
    strLen( str ); // 1

    // ES6方法

    function codePointLength (text) {
      var result = text.match(/[\s\S]/gu);
      return result ? result.length : 0;
    }

    编译后:

    function codePointLength (text) {
      var result = text.match(/(?:[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g);
      return result ? result.length : 0;
    };

    or

    // ES6
    function length(str) {
      return [...str].length;
    }
    展开全文
  • Lua中获取字符串长度整理

    万次阅读 2018-10-31 22:58:41
    在Lua中,获取字符串长度我们一般使用#str(不建议使用string.len(str))! local str = "abc" local len = #str print(len) -- 3 str = "你们好" len = #str print(len) -- 9 这里就出现了一个问题:为啥"abc...

    在 Lua 中,获取字符串长度我们一般使用 #str(不建议使用 string.len(str) )!

    local str = "abc"
    local len = #str
    print(len)  -- 3
    
    str = "你们好"
    len = #str
    print(len)  -- 9

    这里就出现了一个问题:为啥 "abc" 的长度为3,而 "你们好" 的长度却是9呢?难道是哪里出问题了?当然不是!

    其实这是字符编码导致的,在使用 UTF-8 字符编码的情况下,一个中文字符一般占3个字节,所以三个中文字符自然就是9个字节咯!

    那么问题来了,现在我需要不管是中文字符还是其他字符,长度都为1该咋整呢?

    这里记录两种方案:

    方案一

    -- 获取字符串的长度(任何单个字符长度都为1)
    function getStringLength(inputstr)
        if not inputstr or type(inputstr) ~= "string" or #inputstr <= 0 then
            return nil
        end
        local length = 0  -- 字符的个数
        local i = 1
        while true do
            local curByte = string.byte(inputstr, i)
            local byteCount = 1
            if curByte > 239 then
                byteCount = 4  -- 4字节字符
            elseif curByte > 223 then
                byteCount = 3  -- 汉字
            elseif curByte > 128 then
                byteCount = 2  -- 双字节字符
            else
                byteCount = 1  -- 单字节字符
            end
            -- local char = string.sub(inputstr, i, i + byteCount - 1)
            -- print(char)  -- 打印单个字符
            i = i + byteCount
            length = length + 1
            if i > #inputstr then
                break
            end
        end
        return length
    end
    
    local str = "I think,故我在!"
    local len = getStringLength(str)
    print(len)  -- 12

    方案二

    -- 计算 UTF8 字符串的长度,每一个中文算一个字符
    function utf8len(input)
        local len  = string.len(input)
        local left = len
        local cnt  = 0
        local arr  = {0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc}
        while left ~= 0 do
            local tmp = string.byte(input, -left)
            local i   = #arr
            while arr[i] do
                if tmp >= arr[i] then
                    left = left - i
                    break
                end
                i = i - 1
            end
            cnt = cnt + 1
        end
        return cnt
    end
    
    local str = "I think,故我在!"
    local len = utf8len(str)
    print(len)  -- 12

    归根结底其实就是对 UTF-8 字符编码进行处理!

    参考:

    关于字符编码的八个点

    在Lua中计算含中文的字符串的长度

    展开全文
  • 在PHP中,字符串函数 ... strlen() 用来获取字符串长度。成功则返回字符串 string 的长度;如果 string 为空,则返回 0。 举例1,获取字符串长度(纯英文字符): <?php //获取字符串长度 $rawStr='hel...
  • C语言获取字符串长度的几种方法

    万次阅读 多人点赞 2020-09-02 10:50:58
    在C语言中,想要获取字符串长度可以有很多方法,下面分别介绍 一、使用sizeof()运算符 在C语言中,sizeof() 是长度的运算符,括号中可以放入数据类型或者表达式,一般我们用来计算字符串长度。 基本用法: int i=10;...
  • mb_strlen — 获取字符串长度 # 按照utf-8格式获取字符串长度 mb_strlen($string, 'utf-8') 2. mb_substr函数 mb_substr — 获取部分字符串 # 按照utf-8格式获取部分字符串 mb_substr($string, $start, $length, ...
  • 获取字符串长度 str.length() str表示字符串对象 示例:获取字符串长度 public class Demo{ public static void main(String[] args){ //声明一个字符数组 char ch[]= {'s','t','r','i','n','g'}; ...
  • 前言 我们在日常工作中,对于求字符串操作在shell...【方法三】:利用awk的NF项来获取字符串长度 备注: -F为分隔符,NF为域的个数,即单行字符串的长度 【方法四】:利用wc的-L参数来获取字符串的长度 备注: -L参数  
  • PHP 字符串操作 strlen()函数 获取字符串长度
  • c#获取字符串长度

    千次阅读 2017-11-23 10:46:17
    c#获取字符串长度
  • C++获取字符串长度

    万次阅读 2019-07-21 17:00:54
    C++获取字符串长度 strlen()函数        函数 strlen()是一个常规函数,他接受一个 C-风格字符串作为参数,并返回字符串包含的字符数。 参数必须是字符型指针(char*)。当数组名作为参数传入...
  • 在 Shell 中获取字符串长度很简单,具体方法如下: ${#string_name} string_name 表示字符串名字。
  • Lua获取字符串长度

    2020-02-14 09:56:29
    使用长度操作符(length operator)(#)获取字符串长度: str = "abc" num = #str print(num) print(#str) 效果如下:
  • 本文介绍一下关于mysql获取字符串长度的方法,希望此教程对各位同学会有所帮助哦。
  • golang中获取字符串长度的办法

    千次阅读 2019-07-02 11:59:28
    1.不同字符与获取字符串长度 获取字符串长度,是字符串操作的重要方法。理论来说,获取字符串长度,只要从头到尾查找一遍就可以了。但遗憾的是,不同字符具有不同的编码格式。拉丁字母一个字符只要一个字节就行,...
  • 批处理:替换字符串、截取字符串、扩充字符串、获取字符串长度 ━━━━━━━━━━━━━━━━━━━━━━━━━━  替换字符串,即将某一字符串中的特定字符或字符串替换为给定的字符串。举例说明其功能: ...
  • 按照字节长度获取字符串长度
  • 获取字符串中的第一个字符使用的下标是0,则字符串中最后一个字符的下标是字符串的长度减1。使用C#语言如果要获取字符串长度,使用Length属性即可,获取的方法如下。字符串.Length【实例1】在Main方法中从控制台...
  • 获取字符串长度 一、当字符串中所有字符都是单字节字符时,使用len函数获取字符串的长度 package main import "fmt" func main() { var str string str = "Hello world" fmt.Printf...
  • mysql获取字符串长度函数

    千次阅读 2019-05-21 18:08:03
    mysql获取字符串长度函数(CHAR_LENGTH) length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符 CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符...
  • java获取字符串长度,长度不够补相应的字符串

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,171
精华内容 3,668
关键字:

获取字符串长度