1、JS 中,'a' 在記憶體中佔2個位元組還是1個位元組? JS 是用 UCS-2 編碼,應該佔 2 個位元組吧?
2、在不同的引擎中,JS 字串在編碼都是一樣的嗎?
3、JS 中,字串在記憶體中怎麼表示「結尾“,是不是也加上一個 \0 ?
\0
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...