JS 統計字串在UTF 8編碼下的長度

2021-10-08 09:54:16 字數 939 閱讀 2494

utf-8是一種可變長的編碼。採用utf-8編碼,unicode**點中u+007f以下(包含u+007f)的字元用乙個位元組編碼,其它的字元用多個位元組編碼,最多乙個字元用4個位元組編碼。這樣utf-8相容ascii,但是不相容iso-latin字符集。

unicode字元採用utf-8編碼方案時的對照表:

u-00000000 - u-0000007f:  0******x

u-00000080 - u-000007ff:  110***xx 10******

u-00000800 - u-0000ffff:  1110***x 10****** 10******

u-00010000 - u-001fffff:  11110*** 10****** 10****** 10******

u-00200000 - u-03ffffff:  111110xx 10****** 10****** 10****** 10******

u-04000000 - u-7fffffff:  1111110x 10****** 10****** 10****** 10****** 10******

function counterstrlength(inputstr) 

else if (inputstr .charcodeat (i ) <= parseint ("0x7ff"))

else if (inputstr .charcodeat (i ) <= parseint("0xffff" ))

else if (inputstr .charcodeat (i ) <= parseint("0x1fffff" ))

else if (inputstr .charcodeat (i ) <= parseint("0x3ffffff" ))

else

}return totallength ;

}

字串轉utf8編碼

url字串中存在中文,需要把中文轉換成utf8編碼,我所知道的四種方法 uri.escapeuristring uri.escapedatastring httputility.urlencode,www.escapeurl httputility.urlencode存在system.web中,需要...

lua 按utf8編碼拆字串

在做 遊戲 使用者註冊時 使用者名稱要求 只能全是英文本母 或者 只能是漢字 這個時候出現乙個問題 漢字該怎麼檢查呢 local str1 發燒發的撒地方 if str1 match 128 254 then print ok2 else print not ok2 end從網上找了上述方法 你以為...

擷取處理UTF 8編碼字串

擷取處理utf 8編碼字串 規則 中文2個字元,數字 英文1個字元 擷取末尾不足乙個漢字的則捨棄。param string str param int len 截取出的字元長度 author flyer0126 since 2012 05 03 function substr utf8 cn str...