/** * 按字节计算字符串长度 * @param bytes 字节数 * @returns */ String.prototype.byteLength = function(){ var len = 0; for ( var i = 0; i < this.length; i++) { //UTF8编码一个中文按3个字节算(GBK编码一个中文按2个字节) len += (this.charCodeAt(i) > 255 ? 3 : 1); //len += str.replace(/[^\x00-\xff]/g, 'xxx').length; } return len; }; /** * 按字节截取字符串 * @param bytes 字节数 * @returns */ String.prototype.subStringByBytes = function(bytes){ var len = 0; for ( var i = 0; i < this.length; i++) { //UTF8编码一个中文按3个字节算(GBK编码一个中文按2个字节) len += (this.charCodeAt(i) > 255 ? 3 : 1); if (len > bytes) { return this.substring(0, i); } } return str; }; alert("中文a".byteLength()); //7 alert("中文a".subStringByBytes(4)); //中
java 按字节计算字符串的长度,按字节截取字符串
http://happyqing.iteye.com/blog/1972237
相关推荐
在JavaScript中,处理字符串长度有时会遇到特殊的情况,特别是涉及到中英文混合的字符串。中文字符占用的字节数是英文字符的两倍,这在计算显示长度时需要特别注意。本实例提供了一种方法,用于根据字节长度来截取...
var str = "javascript高效按字节截取字符串方法getBlengthjavascript高效按字节截取字符串方法getBlength"; str = str.replace(/./g,str).replace(/./g,str); console.log("创造的字符串长度为:", str.length); ``...
4. **添加省略号**:如果`hasDot`参数为真且原始字符串长度大于指定长度,则在截取后的字符串末尾添加省略号。 #### 四、代码详解 ```javascript function subString(str, len, hasDot) { var newLength = 0; ...
总结上述内容,我们了解到在处理字符串长度时,特别是涉及多字节字符时,直接以字符长度作为限制条件可能会出现错误。正确的方法是首先将输入的字符串按照编码规则进行转换,计算出实际字节数,然后进行比较和截取...
为了解决这个问题,可以使用更复杂的方法,如计算字符串的实际字节数,或者使用正则表达式匹配多字节字符。 总之,JavaScript中的字符串截取和处理是一项常见的任务,通过`cutString`函数,我们可以有效地控制字符...
在 JavaScript 中,计算字符串的字节长度是一个常见的需求,尤其是在处理包含非 ASCII 字符(如中文、日文等)的字符串时尤为重要。这段代码提供了一个函数 `getCharLength` 用于计算一个字符串的实际字节数。 ####...
本篇主要介绍了一种根据指定字节数来截取字符串的方法,并考虑到了不同的编码方式对字符串长度的影响。此外,还涉及了一些关于如何使用 jQuery 操作 select 元素的示例代码。 #### 二、关键概念 - **字符串截取**:...
同样的,当需要取固定长度的字符串时,如果不对双字节字符进行特殊处理,就可能在截取字符串时导致字符被不完整地截取,特别是当字符串长度不是按照双字节字符整齐划分时。例如,如果需要截取长度为2的字符串,按照...
本文将探讨在JavaScript中如何使用substring()和substr()方法截取字符串,并特别针对中英文混合的字符串提供解决方案。字符串截取是编程中的一项基础操作,它允许我们从一个给定的字符串中提取特定部分的字符序列。 ...
1. 字符串长度计算:在JavaScript中,一个中文字符通常由三个字节组成,而英文字符只有一个字节。因此,需要一个函数来计算字符串的实际长度。这里的GetLength函数就扮演了这个角色,它通过遍历字符串中的每一个字符...
在JavaScript中,对`textarea`元素进行输入字符串长度限制是一个常见的需求,特别是在处理用户输入时,需要确保数据格式的正确性。在HTML中,`textarea`控件不像`input[type="text"]`那样可以直接通过`maxlength`...
2. **截取字符串至指定字节数**:如果字符串长度超过指定字节数,则进行截取。 3. **截取字符串时保证 URL 的完整性**:在截取过程中检查是否包含 URL,并确保 URL 的完整性。 #### 实现细节 ##### 方法一:计算...
1. **计算字符串的实际长度**:通过遍历字符串的每个字符,使用`charAt()`方法获取单个字符,并利用`escape()`函数将字符编码。如果编码后的长度大于4,那么这个字符是中文字符,需要计算两个字节。这样可以准确地...
有了这些辅助函数,我们就可以实现按字节截取字符串的两个主要函数:`subCHString`和`subCHStr`。`subCHString`接受起始字节和结束字节,而`subCHStr`接受起始字节和要截取的字节数。 `subCHString`函数首先调用`...
- 对于包含中文字符的字符串长度限制,可以使用上述的JavaScript函数`getByteVal`来实现。 - jQuery可以简化事件绑定和字符串处理的过程,但需要注意引入相应的jQuery库。 - 正则表达式是处理字符串匹配问题的有力...
在JavaScript中处理字符串时,经常会遇到需要截取字符串的情况。对于包含中文字符的字符串,由于中文字符通常占两个字节,因此简单的基于字符索引的截取方法可能无法正确处理中文。本篇文章将详细介绍如何使用...
`strLength`是处理过的字符串长度,这里通过将原始字符串`str`中所有非ASCII字符替换为两个星号`**`来计算长度,这样做的目的是为了在计数时将一个中文字符当作两个字符来处理,因为一个中文字符通常占用两个字节,...