function byte_length(s){
var sum = 0;
for(var i=0;i<s.length;i++){
if(s.charCodeAt(i)<=0x7F){
sum++;
}else if(s.charCodeAt(i)<=0x7FF){
sum += 2;
}else if(s.charCodeAt(i)<=0xFFFF){
sum += 3;
}else if(s.charCodeAt(i)<=0x1FFFFF){
sum += 4;
}else if(s.charCodeAt(i)<=0x3FFFFFF){
sum += 5;
}
}
return sum;
}
分享到:
相关推荐
在VB6.0编程环境中,处理中文字符串时,我们经常会遇到一个问题:如何准确地计算一个包含中文字符的字符串的长度。由于中文字符占用的字节数不同于英文字符(每个中文字符通常占用2个字节,而英文字符占用1个字节)...
由于中文字符通常占用两个字节,而英文字符只占用一个字节,因此简单的基于字节计数的方法无法准确地计算中文字符串的长度。标题提到的“获取中文字符串长度的函数”就是为了解决这个问题。在VB6.0(Visual Basic ...
PHP提供了内置的`strlen()`函数,用于获取字符串的长度,即字符的数量。下面我们将深入探讨这个函数以及与字符串长度计算相关的知识点。 ### strlen()函数 `strlen()`是PHP的核心函数之一,它返回给定字符串的长度...
本文详细介绍了在JavaScript中获取字符串字节数的方法,包括对英文字母和中文字符的处理。 首先,我们通常使用字符串对象的length属性来获取字符串中字符的数量。这个属性会返回字符串的长度,对于英文字符和标点...
在VB6.0编程环境中,处理中文字符串时经常会遇到一个问题:由于中文字符占用两个字节,而VB6的内置函数Len只计算字节数,不考虑字符编码,因此无法准确获取中文字符串的实际长度(即字符数)。为了解决这个问题,...
在处理含有中文字符的字符串长度计算时,由于中文字符通常占用的字节数多于英文字符,我们需要采用特殊的处理方法来确保长度计算的准确性。在传统的编程实践中,尤其是在使用JavaScript这样的编程语言时,一个简单的...
本例中代码提供了一种方法,能够确保无论截取的字节长度如何,都能尽可能保证每个得到的字符是完整的。同时,代码也展示了如何通过判断字节来识别不同类型的字符,从而实现对字符串准确的截取。
在探讨如何获取中英文混合字符串长度的过程中,我们首先需要理解几个关键的概念:字符编码、不同编程语言中的字符串处理方法以及一些具体的实现技巧。本篇文章将深入解析这些知识点,并通过具体的示例来帮助读者更好...
在TIA博途中,如果接收到的是以字节形式传输的ASCII码值,我们需要将其转换为对应的字符,进而组成字符串。例如,'A'的ASCII码值是65,'B'是66,以此类推。通过SCL(Structured Control Language,结构化控制语言)...
1. **字符串字节长度**:在 Delphi 中,字符串通常是基于 ANSI(单字节编码,如 ANSI/Windows-1252)或 Unicode(双字节编码,如 UTF-16)的。对于 ANSI 字符串,字节长度与字符数相同;对于 Unicode 字符串,每个...
但是当字符串中包含了中文、日文等双字节字符时,如果仍然按照这种方式计算长度,会导致获取的字符串长度不符合实际的情况,比如一个中文字符可能会被错误地计算为1而不是2。 为了解决这个问题,开发者通常需要编写...
首先,`strlen()`函数是PHP内建的函数,用于计算字符串的长度,返回的是字节长度。在ASCII编码中,一个英文字符占用一个字节,因此对于只包含英文字符的字符串,`strlen()`的结果就是字符数。但是,当字符串中包含多...
通过这个工具,用户可以快速准确地获取ansi、unicode和utf8编码字符串的字节数,这对于处理多语言文本、存储和传输数据时的内存占用和传输效率评估非常重要。 在实际开发中,理解不同编码间的转换和长度计算是非常...
在实际开发中,经常会遇到需要按照字节长度截取字符串的需求,特别是在网络传输或存储限制的场景下。然而,简单的使用`Substring`方法可能无法满足需求,因为该方法是基于字符计数而非字节计数。对于全英文字符串...
本文详细介绍了如何利用JavaScript来判断字符串的字节数,并根据字节长度进行字符串的截取操作。这包括了判断字符串中的字节数和字符数、限制输入长度、以及如何在JavaScript中动态地处理HTML页面元素的值。接下来,...
在处理字符串长度计算时,尤其是在中文环境下,普通的.length属性无法准确反映字符串的实际显示长度。原因是中文字符在UTF-16编码下通常会占用两个字节,而英文字符只占用一个字节。因此,在JavaScript中,需要一种...
1. **获取字符串的字节数组**:使用`System.Text.Encoding.Unicode.GetBytes()`方法将原始字符串转换为字节数组。 2. **字节数组遍历**:遍历字节数组,根据Unicode编码规则确定每个字符所占的字节数。 3. **计算...
这里通过`Encoding.GetEncoding`获取GB2312编码对象,并将输入字符串转换为字节数组`byteArr`。这样做的目的是便于后续操作中对每个字节进行检查。 ##### 字节长度与字符长度的关系 接下来的循环用于计算实际可以...
PHP内置的`strlen()`函数默认是基于字节数计算字符串长度的,这意味着它不能准确地反映出含有中文字符的字符串的实际字符数。这是因为中文字符在不同编码格式下占用的字节数不同。例如,在GBK/GB2312编码中,每个...