- 论坛徽章:
- 0
|
網頁以UTF8編碼方式儲存和顯示
用JavaScript顯示中文長度, 大部份為3字節
但部份為4字節, 這種情況下,若3字節和4字節中文混合一起時,
此時用substring(Str,1)或charAt(0),4字節的中文
就無法取出來 ...
必須用substring(Str,2)才能取出
JavaScript如何去判斷哪些中文是3字節和4字節 ...
比如:
var wStr = "中文世紀";
document.write(wStr.substring(0,1) + '<br>'); // 試驗所得, 必須這樣才能取出 "中"
document.write(wStr.substring(1,2) + '<br>'); // 試驗所得, 必須這樣才能取出 "文"
document.write(wStr.substring(3,2) + '<br>'); // 試驗所得, 必須這樣才能取出 "世"
document.write(wStr.substring(4,3) + '<br>'); // 試驗所得, 必須這樣才能取出 "紀"
雖然用以下方式同樣可取出,
document.write(wStr.charAt(0) + '<br>');
document.write(wStr.charAt(1) + '<br>');
document.write(wStr.charAt(2) + '<br>');
document.write(wStr.charAt(3) + '<br>');
但有些中文字卻無法用charAt()取出
比如: var wStr = "中文𡒄紀";
就不能用以上的charAt()逐一取出 ...
因為 "𡒄" 字 ....
長度好像1至3都有可能, 如何用for ( var i = 0; i < wStr.length; i++ ) 逐一取出 ...
JavaScript如何判斷長度才不會取出半個字或多個字來呢? 字 ....
長度好像1至3都有可能, 如何用for ( var i = 0; i < wStr.length; i++ ) 逐一取出 ...
JavaScript如何判斷長度才不會取出半個字或多個字來呢?
[ 本帖最后由 kk298 于 2008-4-11 15:29 编辑 ] |
|