为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript中字符串长度(以字节为单位

JavaScript中字符串长度(以字节为单位

慕容森 2019-08-12 16:46:42
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个字节。
查看完整描述

3 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

多年过去了,现在你可以做到这一点

(new TextEncoder('utf-8').encode('foo')).length

请注意,IE(或Edge)尚不支持它(您可以使用polyfill)。

MDN文档

标准规格


查看完整回答
反对 回复 2019-08-12
  • 3 回答
  • 0 关注
  • 624 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信