1、JS 中,'a' 在内存中占2个字节还是1个字节?JS 是用 UCS-2 编码,应该占 2 个字节吧?
2、在不同的引擎中,JS 字符串在编码都是一样的吗?
3、JS 中,字符串在内存中怎样表示“结尾“,是不是也加上一个 \0
?
PHP中文网2017-07-05 10:48:22
我来回答一下我知道的:
1) a字母(英语第一个小写的那个)占用两个字节,JS用的为UCS-2,不过后来又兼容了UTF16.
但是有一些生僻字就不一定为 2 个字节长度了,可能是多个。相关知识可以找一下 阮一峰的 字符串知识讲解,也建议看
一下维基的相关条目并参阅其底下的参考链接(主要是标准化组织的文档).
2) 编码是ECMA规定的,都是一样的,作为脚本语言,他的编码都是被ECMA这份文档所确定了。
3) 这个和引擎相关。
可以参考这个问题的回复
https://www.zhihu.com/questio...