当前位置: 首页 > 编程笔记 >

JavaScript实现的GBK、UTF8字符串实际长度计算函数

丰辰沛
2023-03-14
本文向大家介绍JavaScript实现的GBK、UTF8字符串实际长度计算函数,包括了JavaScript实现的GBK、UTF8字符串实际长度计算函数的使用技巧和注意事项,需要的朋友参考一下

大家都知道,在JS中字符串的长度不分中英文字符, 每一个字符都算一个长度,这跟PHP里的strlen()函数就不太一样。PHP里的strlen()函数根据字符集把GBK的中文每个2累加,把UTF-8的中文字符每个按3累加。

有些童鞋可能要问了,为什么要计算实际长度?

主要是为了匹配数据库的长度范围内,比如GBK的数据库某字段是varchar(10),那么就相当于5个汉字长度,一个汉字等于两个字母长度。如果是UTF8的数据库则是每个汉字长度为3。

知道了以上原理以后,我们就可以算出一个字符串的实际长度了,如果是GBK字符集遇到中文加2,如果是UTF8字符集遇到中文加3即可
GBK长度计算函数


// GBK字符集实际长度计算

function getStrLeng(str){

    var realLength = 0;

    var len = str.length;

    var charCode = -1;

    for(var i = 0; i < len; i++){

        charCode = str.charCodeAt(i);

        if (charCode >= 0 && charCode <= 128) { 

            realLength += 1;

        }else{ 

            // 如果是中文则长度加2

            realLength += 2;

        }

    } 

    return realLength;

}


UTF8长度计算函数:

// UTF8字符集实际长度计算

function getStrLeng(str){

    var realLength = 0;

    var len = str.length;

    var charCode = -1;

    for(var i = 0; i < len; i++){

        charCode = str.charCodeAt(i);

        if (charCode >= 0 && charCode <= 128) { 

            realLength += 1;

        }else{ 

            // 如果是中文则长度加3

            realLength += 3;

        }

    } 

    return realLength;

}

 类似资料:
  • 我必须实施这个计划。从class“手工”获取的长度方法,我不知道,希望您能提供帮助。除以下方法或功能外,不允许使用其他方法或功能: 绳子。charAt() 绳子。子字符串() 绳子。isEmpty() 位操作 系统出来println(计数器); 控制台: 5 这是我的方法,但我陷入了while语句的终止状态。以“Hello”为例,我已经知道这个单词有5个字母,但它需要适合所有输入。所以我不知道如何

  • 本文向大家介绍获取中文字符串的实际长度代码,包括了获取中文字符串的实际长度代码的使用技巧和注意事项,需要的朋友参考一下 JS中默认中文字符长度和其它字符长度计算方法是一样的,但某些情况下我们需要获取中文字符串的实际长度,代码如下:

  • 我正在做一个赋值,它需要一个以字符串和int为参数的方法。该方法应该用空格填充参数字符串,直到它的长度是给定的长度。例如,padString(“你好”,8应该返回“hello___”(_代表三个空格))如果int高于字符串的长度,那么它将简单地返回字符串。我很难关闭程序的“填充”部分。 由于这个任务是本书的早期内容,我假设它可以用初学者的东西来完成,例如forloops、参数和常见的字符串方法,因

  • 我正在为我的客户开发一个同时使用英语和泰米尔语的网站。 我需要找到泰米尔字符串的长度来生成剥离的内容。 有人能告诉我如何找到泰米尔语字符串的长度和泰米尔语的substr函数吗。

  • 本文向大家介绍Python程序,不使用库函数计算字符串的长度,包括了Python程序,不使用库函数计算字符串的长度的使用技巧和注意事项,需要的朋友参考一下 当需要不使用库方法来计算字符串的长度时,每次遇到字符串的元素时,都会使用一个计数器来递增。 以下是相同的演示- 示例 输出结果 解释 字符串已定义,并显示在控制台上。 计数器初始化为0。 迭代字符串,在迭代完每个元素之后,计数器加1。 这在控制

  • 本文向大家介绍JavaScript实现计算字符串中出现次数最多的字符和出现的次数,包括了JavaScript实现计算字符串中出现次数最多的字符和出现的次数的使用技巧和注意事项,需要的朋友参考一下 “计算出字符串中出现次数最多的字符是什么,出现了多少次?” 看到这个需求,我想大多数人应该首先想到的是转换成数组,再做处理,当然是可以解决问题的,然后这里提供一个巧妙的算法设计,无需转数组,可以很快解决问