请问java如何解析下面这一堆东西。。这个是个别的平台发过来的数据块

img

我用js也解析过同样的东西,代码如下:

img

请问如何通过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代码就可以了啊