【发布时间】:2012-02-16 09:18:51
【问题描述】:
我有一个包含 0-255 值的数组“结果”。我最初将它声明为 byte[],但是当我必须写入 128 时,result[i] 的值是 -128,并且在输出文件中写入“€”,最终读取为 8364。
我可以看到字节只接受 -128 到 127 的值,我应该为 0-255 的值使用什么数据类型(不浪费内存)?
我是否也应该更改内容类型或添加任何字符集标题?
谢谢
res.setContentType("application/octet-stream");
res.setHeader("Content-Disposition","attachment;filename=output.js");
ServletOutputStream os = res.getOutputStream();
byte[] result=encode(req.getParameter("originalScript")); // Result[i]=-128 (should be 128)
os.write(result,0,result.length); // result[i] on output.js is written as "€" (8364)
【问题讨论】:
标签: java servlets character-encoding bytearray outputstream