js獲取字符串長度的方法 用JS怎樣才能正確的得到字符串的長度?
用JS怎樣才能正確的得到字符串的長度?// GBK字符集實(shí)際長度計算function getStrLeng(str){ var realLength = 0 var len = str.length
用JS怎樣才能正確的得到字符串的長度?
// GBK字符集實(shí)際長度計算function getStrLeng(str){ var realLength = 0 var len = str.length var charCode = -1 for(var i = 0 i = 0 && charCode
// UTF8字符集實(shí)際長度計算function getStrLeng(str){ var realLength = 0 var len = str.length var charCode = -1 for(var i = 0 i = 0 && charCode
在JS中字符串的長度不分中英文字符, 每一個字符都算一個長度,這跟PHP里的strlen()函數(shù)就不太一樣。PHP里的strlen()函數(shù)根據(jù)字符集把GBK的中文每個2累加,把UTF-8的中文字符每個按3累加。主要是為了匹配數(shù)據(jù)庫的長度范圍內(nèi),比如GBK的數(shù)據(jù)庫某字段是varchar(10),那么就相當(dāng)于5個漢字長度,一個漢字等于兩個字母長度。如果是UTF8的數(shù)據(jù)庫則是每個漢字長度為3。
js字符串最多存儲多少字節(jié)?
JS字符串的長度受到下標(biāo)限制。
理論最大長度是2^53-1(即js中可表達(dá)的最大安全整數(shù))。2^53是多大呢?大約9PB。根據(jù)統(tǒng)計,中國2014年所有出版物(不計復(fù)本)不到2000億字,也就是400GB而已。按此推算,不要說存一個txt了,中國自有甲骨文以來所有的書、各類出版物字?jǐn)?shù)加在一起估計也不可能超過100TB,也就是0.1PB。當(dāng)然啦,實(shí)際引擎是不可能允許分配那么大的字符串的,你的電腦也沒那么大存儲不是。V8的heap上限只有2GB不到,允許分配的單個字符串大小上限更只有大約是512MB不到。JS字符串是UTF16編碼保存,所以也就是2.68億個字符。FF大約也是這個數(shù)字。