Node.js/Javascript相当于Java';s平减指数级
我有一个使用充气机的Java后端。我希望通过Node.js向其提供数据 是否有与平减指数等级相当的等级 编辑:我应该澄清一下。我曾尝试使用base64对结果进行编码,然后将其传递给一个非常简单的Java程序,由base64对其进行解码并尝试将其膨胀(创建一个简单的后端模拟),但我一直遇到一个异常:Node.js/Javascript相当于Java';s平减指数级,java,javascript,node.js,zlib,deflate,Java,Javascript,Node.js,Zlib,Deflate,我有一个使用充气机的Java后端。我希望通过Node.js向其提供数据 是否有与平减指数等级相当的等级 编辑:我应该澄清一下。我曾尝试使用base64对结果进行编码,然后将其传递给一个非常简单的Java程序,由base64对其进行解码并尝试将其膨胀(创建一个简单的后端模拟),但我一直遇到一个异常: java.util.zip.DataFormatException: unknown compression method at java.util.zip.Inflater.inflateB
java.util.zip.DataFormatException: unknown compression method
at java.util.zip.Inflater.inflateBytes(Native Method)
at java.util.zip.Inflater.inflate(Unknown Source)
at java.util.zip.Inflater.inflate(Unknown Source)
我知道Base64编码过程在两端都正常工作
我还应该注意,我无法更改Java后端。您可以使用gzip输入/输出流,它基于Deflator/Inflator AFAIK,Inflator/Deflator是特定于Java的。您可以随意使用
因为这样做很好,但在我使用node_pcap时遇到了一些问题。我想这可能是一个很好的开始。终于找到了答案。您可以使用Node.js中的
zlib
库来执行此操作。例如:
var zip = require('zlib');
zip.createDeflate({
level: zip.Z_DEFAULT_COMPRESSION,
windowBits: zip.MAX_WBITS
});
或
我应该提到,我不能改变后端,所以这是;不实用。除非Java希望数据在base64中发送,否则您将无法使用base64。事实并非如此。对不起,我不清楚。我的意思是说,我有一个小应用程序来简单地测试这个特定的问题,我对我在节点和这个小应用程序之间传输的数据进行base64编码。我尝试使用它,但它不会在Java端使用Deflater进行解压缩。不幸的是,Gzip和Deflate是不同的。谢谢你的尝试!
var zip = require('zlib');
zip.createDeflate({
level: zip.Z_DEFAULT_COMPRESSION,
windowBits: zip.MAX_WBITS
});
zip.deflate(buf,callback);