1. Belegt „a“ in JS 2 Bytes oder 1 Byte im Speicher? JS ist in UCS-2 codiert, sollte also 2 Bytes belegen, oder?
2. Sind JS-Strings in verschiedenen Engines gleich codiert?
3. Wie stellt eine Zeichenfolge in JS das „Ende“ im Speicher dar?
String 全局对象先去读读文档~
我来回答一下我知道的:
1) a字母(英语第一个小写的那个)占用两个字节,JS用的为UCS-2,不过后来又兼容了UTF16.
但是有一些生僻字就不一定为 2 个字节长度了,可能是多个。相关知识可以找一下 阮一峰的 字符串知识讲解,也建议看
一下维基的相关条目并参阅其底下的参考链接(主要是标准化组织的文档).
2) 编码是ECMA规定的,都是一样的,作为脚本语言,他的编码都是被ECMA这份文档所确定了。
3) 这个和引擎相关。
可以参考这个问题的回复
https://www.zhihu.com/questio...
String 全局对象
先去读读文档~
我来回答一下我知道的:
1) a字母(英语第一个小写的那个)占用两个字节,JS用的为UCS-2,不过后来又兼容了UTF16.
但是有一些生僻字就不一定为 2 个字节长度了,可能是多个。相关知识可以找一下 阮一峰的 字符串知识讲解,也建议看
一下维基的相关条目并参阅其底下的参考链接(主要是标准化组织的文档).
2) 编码是ECMA规定的,都是一样的,作为脚本语言,他的编码都是被ECMA这份文档所确定了。
3) 这个和引擎相关。
可以参考这个问题的回复
https://www.zhihu.com/questio...