0

函數d(a)顯示警報,其中字符串a中的每個字符的ASCII值都會顯示。其中一個字符是ASCII 0,我用[NULL]在這個帖子上顯示了它。 這是我接收在不同瀏覽器的輸出:在Internet Explorer 9上未使用Javascript處理字符NULL(ASCII 0)

GOOGLE CHROME - CORRECT - 字符串長度:3 - 警報輸出:116,0,114

INTERNET EXPLORER 9 - 錯誤 - 字符串長度:2 - 警報輸出:116,114

我能做些什麼有這些字符在Internet Explorer 9中顯示?感謝

<script type="text/javascript" charset="x-user-defined"> 
function d(a) 
{ 
    a=(a+"").split(""); 
    var l=a.length; 
    alert(l); // Displays string length 
    for(var z=0;z<l;z++)alert(a[z].charCodeAt(0)); 
}; 
d("t[NULL]r"); 
</script> 
+0

嘗試'使用String.fromCharCode(116,0,114).length' – Pointy 2012-04-04 15:08:30

+0

我得到 「3」 作爲結果!! – Arturo 2012-04-05 10:27:15

回答

2

不要將不可打印的字符直接放入代碼 - 它很可能不會工作。相反,使用正確的實體\0

+0

它不是'\ 0',它是'\ u0000',但是。 – Pointy 2012-04-04 15:08:05

+1

Erm,'\ 0','\ x00'和'\ u0000'是同義詞。就像'\ n','\ x0A'和'\ u000A'。 – 2012-04-04 15:14:08

+0

哇,我不敢相信我一直和我一樣明顯困惑;感謝那......我需要檢查我的大腦或其他東西。 – Pointy 2012-04-04 15:18:03