js是使用unicode編碼的。而unicode的實現有n種,其中用的最多的就是utf-8和utf-16。
utf-8(8-bit unicode transformation format)是一種針對unicode的可變長度字元編碼,可以表示unicode標準中的任何字元,且其編碼中的第乙個位元組仍與ascii相容,使用一至四個位元組為每個字元編碼。其編碼規則如下:
字元**在000000 – 00007f之間的,用乙個位元組編碼;
000080 – 0007ff之間的字元用兩個位元組
000800 – 00d7ff 和 00e000 – 00ffff之間的用三個位元組,注: unicode在範圍 d800-dfff中不存在任何字元
010000 – 10ffff之間的用4個位元組
string.prototype.
getbyteslength
=function()
elseif(
(0x0080
<= charcode)
&&(charcode <=
0x07ff))
elseif(
(0x0800
<= charcode)
&&(charcode <=
0xffff))
else
}return totallength
}
獲取字串的位元組數。
大家都知道,獲取字串的長度可用length來獲取,那麼獲取這段字串的位元組數呢?英文本母肯定lenght和位元組數都一樣 都是 而中文lenght 1,位元組數 2 因此,需要作的就是把中文字元的位元組數計算出來。方法一 alert a replace u0000 u00ff g,aaa lengt...
c 獲取字串的位元組數的方法
將字串轉換為ascii編碼陣列,只要是中文位元組碼就是ascii編碼63即 所以可以由此來進行判斷 複製 如下 class stringop return strlen class testmain 將字串以unicode的編碼轉換為位元組陣列,判斷每個字元的第二個位元組是否大於0,來計算字串的位元...
按位元組數擷取字串
1.字串設定長度,長度限制 nsstring stringwithhtml nsstring str length cgfloat length 如果有寬度限制的話,建議用 if str.length length 缺點是字母或數字或中文與數字字母混合時計算有誤,還會執行下面方法,但比較保險 獲取字...