第一种:(通过String对象的charCodeAt方法)
复制代码 代码如下:
String.prototype.getBytesLength = function() {
var length = 0;
for(i = 0;i < this.length; i++) {
iCode = this.charCodeAt(i);
if((iCode >= 0 && iCode <= 255) || (iCode >= 0xff61 && iCode <= 0xff9f)) {
length += 1;
} else {
length += 2;
}
}
return length;
}
第二种:(通过escape()方法转编码后判断)
复制代码 代码如下:
String.prototype.getBytesLength = function() {
var str = escape(this);
for(var i = 0, length = 0;i < str.length; i++, length++) {
if(str.charAt(i) == "%") {
if(str.charAt(++i) == "u") {
i += 3;
length++;
}
i++;
}
}
return length;
}
第三种写法:彻底无语了!
复制代码 代码如下:
String.prototype.getBytesLength = function() {
return this.replace(/[^\x00-\xff]/gi, "--").length;
}
转载:http://www.jb51.net/article/18398.htm
分享到:
相关推荐
在计算机科学中,字符编码是将字符转换成数字表示的过程,而ASCII(American Standard Code for ...通过学习不同编程语言中的相关函数和方法,你可以灵活地在ASCII和字符串之间进行转换,满足各种应用场景的需求。
为了解决这个问题,开发者通常需要编写特定的函数来获取字符串的真实长度,即按照双字节字符为单位进行长度计算。这样的函数可以有效地计算字符串中包含的字符数量,准确地反映字符串的长短。 同样的,当需要取固定...
// 获取字符串按照指定编码的实际字节数 if (strlen ) return str; // 如果字符串实际字节数小于指定长度,则直接返回原字符串 Pattern p = Pattern.compile("^[\u4e00-\u9fa5]$"); // 正则表达式,用于匹配中文...
字符串与十六进制表示字符串的相互转换在多种编程场景中非常重要,尤其是在Web开发中,涉及到安全性问题,比如防止SQL注入攻击和跨站脚本攻击(XSS)。JavaScript作为前端开发的核心语言,掌握字符串与十六进制转换...
在给定的压缩包文件“从一个字符串返回特定的字符源代码.zip”中,我们可以推测这可能是一个软件或插件,其功能是帮助用户获取字符串中特定字符的源代码,也就是字符的ASCII值或者Unicode编码。下面我们将深入探讨...
- **构造请求体**:将JSON字符串转换成字节数组,设置到`ContentLength`属性,并写入到请求流中。 - **发送请求**:调用`GetResponse()`方法发送请求并获取响应。 - **处理响应**:从响应流中读取响应数据并返回。 ...
// 获取字符串的原始长度 var num = str.length; // 使用正则表达式匹配所有非ASCII字符 var arr = str.match(/[^\\x00-\\x7F]/g); // 如果匹配到非ASCII字符,则计算额外增加的字节数 if (arr != null) { ...
此外,由于实际环境中可能存在多种字符集混合使用的复杂情况,上述函数在实际应用中可能需要结合其他方法来判断字符串的具体编码,或者使用正则表达式等更复杂的逻辑来准确地实现中文字符的长度计数。 总之,通过...
在处理包含多种字符编码的字符串时,计算其长度时通常会遇到问题,尤其是当字符串包含中文或其他多字节字符时。下面是一个计算字符串长度并把中文字符视为两个字节的函数: ```javascript function strLength(str) ...
在JavaScript中,我们可以使用`String.fromCharCode()`方法将Unicode编码转换为对应的字符,而`charCodeAt()`方法则可以获取字符串中某个位置的字符的Unicode编码。 在实际编程中,我们经常需要处理不同编码格式的...
例如,`cutstr()`函数用于截取字符串,它考虑了中文字符占两个字节的情况,确保截取后的字符串不会出现乱码。而`getHost()`函数则用于获取URL的主机部分,这对于处理网络请求或构建链接非常有用。`trim()`方法是一个...
用户可以通过这个工具快速地获取字符串的哈希值,用以验证数据完整性,或者将字符串编码为BASE64格式,以便在网络中安全传输。 在实际应用中,MD5和SHA1通常用于文件校验,确保下载的文件未被篡改;CRC则常见于通信...
获取字符串的特定部分在实际开发中非常常见,JavaScript提供了一系列函数如`Left`、`Right`和`Mid`,它们可以分别用于获取字符串的左部、右部以及任意指定位置的子字符串。 ```javascript String.prototype.Left = ...
字符串方法如`charAt()`用于获取指定位置的字符,`substring()`用于截取子字符串,`indexOf()`用于查找特定字符的索引。需要注意,这些方法的索引是从0开始的。 在数字和字符串之间转换时,可以使用`toString()`将...
// 直接获取字符串的长度作为字符数 $scope.smsLength = $scope.smsContent.length; } ``` 在这个例子中,`$scope.bytesCount`变量用于存储字节数,`$scope.smsLength`变量用于存储字符数,`$scope.smsContent`...
- `switch`语句支持字符串选择。 - 循环结构中,由于JavaScript的弱类型特性,使用时需注意数据类型。 - **函数**:JavaScript中的函数是一组指令的集合,只有在调用时才会执行。函数定义的基本语法如下: ```...
在Delphi XE2开发环境中,利用DateSnap技术可以实现高效、可靠的远程数据传输功能,尤其是在客户端和服务器之间传输字符串和图片等数据时。DateSnap是Embarcadero Delphi提供的一种服务化框架,它允许开发者创建基于...
1. **获取字符串**:首先,你需要获取包含中文字符的字符串。这可以通过用户输入、DOM元素的文本内容或者其他数据源获得。 2. **编码转换**:使用JavaScript的内置函数`Buffer`(Node.js环境中)或`TextEncoder` ...