JavaScript中字符串长度(以字节为单位
在我的JavaScript代码中,我需要以这种格式向服务器撰写消息:
<size in bytes>CRLF<data>CRLF
例:
3foo
数据可能包含unicode字符。我需要将它们作为UTF-8发送。
我正在寻找最流行的浏览器方式来计算JavaScript中字符串的长度(以字节为单位)。
我试过这个来组成我的有效载荷:
return unescape(encodeURIComponent(str)).length + "\n" + str + "\n"
但它没有给我准确的结果旧浏览器(或者,这些浏览器中的字符串可能是UTF-16?)。
有线索吗?
更新:
示例:ЭЭХ! Naïve?
UTF-8中字符串的长度(以字节为单位)为15个字节,但某些浏览器报告的是23个字节。
互换的青春
相关分类