java - 使用 Java 的 OutputStream.write() 函数将字节 "0"写入字节 "32"

标签 java javascript content-type outputstream

在我的代码(doGet 方法中的 HttpServlet)中,我需要在 .js 文件中写入可以采用从 0 到 255 的任何值的字节。我在调试器中检查到 result[1] 的值为 0。但是,在外部文件中,它被写入空白,当我尝试读取它时,它的字节值是“32”。我只遇到了字节 0 的问题,其余的都工作正常。有什么想法吗?

res.setContentType("image/gif");
res.setHeader("Content-Disposition","attachment;filename=myFile.js");
OutputStream os = res.getOutputStream();
byte[] result=encrypt(req.getParameter("original")); // Here result has values [64,0,81,80]
os.write(result,0,result.length);

我从外部 JavaScript 检索值:

var whatever = data[1].charCodeAt(0); // whatever has value 32

我在 Javascript 程序中看到了类似的问题,他们修复了这个问题,包括在写入文件之前的这个循环:

for (var i=0; i<result.length; i++) {
    result[i] = String.fromCharCode(result[i]); }

我已经做了一些测试并且适用于 Javascript。 Java 中的等价物是什么?

谢谢

最佳答案

32 是空格的 ASCII 值。这就是为什么 32 为空。

关于java - 使用 Java 的 OutputStream.write() 函数将字节 "0"写入字节 "32",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8877480/

相关文章:

java - 如何使用 openssl 将 java 生成的公钥转换为 pem 格式

java - 时间段的数学集?

javascript - 无法将新数组 $push 到 Meteor Collection 中的文档中

pdf - PDF 文件的正确 MIME 媒体类型

sharepoint - 将查找字段添加到共享点中的内容类型

java - 在 Applet 上显示 IFrame?馊主意?

Java 同步引用

javascript - Sequelize 中的高效查询

php - 如何将变量从 javascript 发送到 PHP

drupal - 如何在 Drupal 7 中以编程方式创建新的内容类型?