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