gpt4 book ai didi

javascript - Internet Explorer 忽略 JS 文件中的所有 "0"字符

转载 作者:行者123 更新时间:2023-11-30 05:55:55 26 4
gpt4 key购买 nike

这是我几个月来一直在处理的问题,非常感谢任何帮助。

我正在编码一个字符串并使用下面的函数将输出写入 MyFile.js。在调试我的示例时,显示为整数的 char encodedCode[] 具有 length 12 和这些值:97,0,108,101,114,116,40,34,80,114,0,105.

MyFile.js 已正确生成,具有预期的大小和字符,正如我从 Notepad++ 中看到的那样。

MyFileServlet.java

public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setCharacterEncoding("iso-8859-1");
res.setHeader("Content-Type", "text/javascript;charset=iso-8859-1");
res.setHeader("Content-Disposition","attachment;filename=MyFile.js");
PrintWriter printer=res.getWriter();
char encodedCode[]=encode(req.getParameter("originalScript"));
printer.write(encodedCode);
printer.close();
}

但是,当我尝试使用 MyFile.html 中的一些调试代码(见下文)运行 MyFile.js 时,我会根据浏览器获得不同的行为:

  • Chrome/Firefox: 长度 1297,0,108,101,114,116,40,34,80,114,0,105
  • Internet Explorer 9 长度 1097,108,101,114,116,40,34,80,114,105

所以 IE 忽略所有“0”字符。为什么?非常感谢

JSFIDDLE:http://jsfiddle.net/vnqL2/

编辑:我尝试将这些字节写入外部二进制文件 MyFile.xxx 并从 Javascript/JQuery/Ajax/XMLHttpRequest 读取它们,但我仍然遇到与 IE 相同的问题。

MyFile.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>My Page</title>
</head>
<body>
<script type="text/javascript" charset="iso-8859-1" src="MyFile.js">
</script>
</body>
</html>

MyFile.js

function d(a)
{
a=(a+"").split("");
var l=a.length,x=[l];
alert(l);
for(i=0;i<l;i++){
x[i]=a[i].charCodeAt(0);
document.write(x[i]);
}
};
d("HERE GO THOSE BYTES HARDCODED");

最佳答案

我不知道你的目的是什么,但字符串中的 NULL 字节是不合法的。

另一方面,您可以通过将字节作为逗号分隔的整数列表传输来轻松重建字节(整数)数组。或者另一种方法是 json 文件。示例代码:

function d(a)
{
a=(a+"").split(",");
var l=a.length,x=[l];
alert(l);
for(i=0;i<l;i++){
x[i]=Number(a[i]);
document.write(x[i]);
document.write("<br>");
}
return x;
};
var ar = d("97,0,108,101,114,116,40,34,80,114,0,105"); // returns the byte array, length=12

Test it here

关于javascript - Internet Explorer 忽略 JS 文件中的所有 "0"字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11926899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com