1、JS 中,'a' 在記憶體中佔(zhàn)2個位元組還是1個位元組? JS 是用 UCS-2 編碼,應(yīng)該佔(zhàn) 2 個位元組吧?
2、在不同的引擎中,JS 字串在編碼都是一樣的嗎?
3、JS 中,字串在記憶體中怎麼表示「結(jié)尾“,是不是也加上一個 \0
?
我來回答一下我知道的:
1) a字母(英語第一個小寫的那個)佔(zhàn)用兩個位元組,JS用的為UCS-2,不過後來又相容了UTF16.
但是有一些生僻字就不一定為 2 個位元組長度了,可能是多個。相關(guān)知識可以找一下 阮一峰的 字串知識解說,也建議看
一下維基的相關(guān)條目並參閱其底下的參考連結(jié)(主要是標(biāo)準(zhǔn)化組織的文檔).
2) 編碼是ECMA規(guī)定的,都是一樣的,作為腳本語言,他的編碼都是被ECMA這份文檔所確定了。
3) 這個和引擎相關(guān)。
可以參考這個問題的回應(yīng)
https://www.zhihu.com/questio...