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

JavaScript字符串中有多少个字节?

JavaScript字符串中有多少个字节?

PIPIONE 2019-11-28 09:53:46
从服务器以UTF-8发送时,我有一个大约500K的JavaScript字符串。如何用JavaScript判断其大小?我知道JavaScript使用UCS-2,因此每个字符2个字节。但是,这取决于JavaScript实现吗?还是页面编码或内容类型?
查看完整描述

3 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

String值不依赖于实现,根据ECMA-262第三版规范,每个字符代表UTF-16文本的单个16位单元:


4.3.16字符串值


字符串值是String类型的成员,并且是零个或多个16位无符号整数值的有限有序序列。


注意尽管每个值通常代表UTF-16文本的单个16位单元,但是语言对这些值没有任何限制或要求,只是它们是16位无符号整数。


查看完整回答
反对 回复 2019-11-28
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

此函数将返回您传递给它的任何UTF-8字符串的字节大小。


function byteCount(s) {

    return encodeURI(s).split(/%..|./).length - 1;

}


JavaScript引擎可以在内部自由使用UCS-2或UTF-16。我知道的大多数引擎都使用UTF-16,但是无论他们做出什么选择,它只是实现细节,不会影响语言的特性。


但是,ECMAScript / JavaScript语言本身会根据UCS-2(而不是UTF-16)公开字符。


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

添加回答

举报

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