我用js也解析过同样的东西,代码如下:
请问如何通过java来解析,,
用Java解析的代码如下:
public static Double[] parseStr(String str) {
byte[] bytes = new byte[str.length()];
for(int i=0; i<bytes.length; ++i) {
bytes[i] = (byte)str.charAt(i);
}
ByteBuf byteBuf = Unpooled.copiedBuffer(bytes);
List<Double> currData = new ArrayList<>();
while(byteBuf.isReadable()) {
currData.add(byteBuf.readDouble());
}
return currData.toArray(new Double[]{});
}
需要用到的netty依赖如下,在pom.xml里面添加依赖:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.74.Final</version>
</dependency>
如果不是使用maven,也可以直接下载netty的jar放入工程里面
以上代码经过实测有效,如仍有问题,请随时沟通!
如有帮助,请采纳,十分感谢!
一个数据块,你接收之前,总得知道它是个什么协议吧
不要企图写一段代码,能够解析任何人写给你的任何数据
既然js有逻辑实现,按照相同的逻辑用java实现就可以了,这个应该不是很费劲吧,都是输入一段信息,返回解码后的信息的函数
甭管是你这方定的标准,还是别的平台那边定的标准,这标准双方肯定都是得知道的,按规则来
js逻辑很简单啊,得到二进制内容,按每8字节转成浮点数
java就直接传入byte[],每4字节转成double就可以了,代码就不写了
记事本的编码类型改成utf-8,应该能正常显示
看着像乱码
new String(s.getBytes("UTF-8"),"UTF-8");
那意思是你的js可以正常解析?
JS解析后的数据也是乱码嘛.
发一下图一的数据呗
感觉得先搞下编码
不难呀!按照类型转换就好了。
我想试试,可以把完整乱码贴出来吗?
原始请求路径先看对方输出编码是什么格式
把js代码转为Java代码就可以了啊