Java字节数组到Javascript类型数组

Posted

技术标签:

【中文标题】Java字节数组到Javascript类型数组【英文标题】:Java byte array to Javascript typed array 【发布时间】:2015-10-15 00:25:32 【问题描述】:

我正在尝试通过 Websocket binaryType 协议将一些原始数据从 Java Servlet 发送到 javascript 我阅读了有关 JavaScript 上的字节缓冲区、类型化数组和数据视图的所有内容,但我仍然认为我错过了图片

我的问题是如何将 8 个字节的数组转换为 JavaScript 数字?

我有以下字节数组应该代表这个双精度值 -1.4960627518157586E23

0 = -60
1 = -65
2 = -82
3 = 44
4 = 36
5 = 69
6 = -96
7 = 64

谁能帮我将字节数据从 Java 序列化为 JavaScript 类型?

非常感谢。

【问题讨论】:

你真的需要它是二进制的吗,用 JSON 是不是太慢了? 你能告诉我们你的JS客户端代码吗? 我猜如果你使用JSON格式发送数据,你肯定会省去序列化和解析的麻烦。 【参考方案1】:

用 Javascript 阅读

在 Javascript 中读取二进制数据需要一些努力,但有人方便地编写了一段代码来帮助解决这个问题:http://jsfromhell.com/classes/binary-parser

我们可以这样使用它:

var parser = BinaryParser(true);
var outputVal = parser.toDouble([-60, -65, -82, 44, 36, 69, -96, 64]);

用 Java 阅读

如果您在 java 中接收数据,您可以使用 java.io.DataInputStream 从流中读取原始值,如下所示:

byte[] dataArray = new byte[] -60, -65, -82, 44, 36, 69, -96, 64;
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(dataArray));

double val = stream.readDouble();
out.println(val); // -1.4960627518157586E23

【讨论】:

以上是关于Java字节数组到Javascript类型数组的主要内容,如果未能解决你的问题,请参考以下文章

java _io_图片到内存(字节数组),字节数组到文件,练习文件流和字节数组流

字节数组到短数组并在java中再次返回

将字节数组转换为java类型

javascript中如何将获得的整型数值转换为字节数组

java字节数组如何判断实际元素个数。

JAVA里16进制和字节数组互转