Java:如何恢复使用python的zlib编码器压缩的字符串数据

sil*_*der 5 python java compression zlib

我通过套接字从python发送数据到java.

所以在python 2.7方面,我有:

s = "this is test str"
compressed = s.encode('zlib')
push_to_tcp_socket(compressed)
Run Code Online (Sandbox Code Playgroud)

所以我需要在java端恢复初始字符串.我怎么能这样做?

Pet*_*rey 0

您需要发送字符串的长度,或者关闭连接,以便知道最后一个字节在哪里。

最有可能为您提供帮助的类是 DeflatorInputStream,一旦字节被读取,您就可以使用它。这是 zlib 类的裸包装。我还没有测试过它与 python 一起工作,但它是你最好的选择。

您可以尝试其他具有跨平台支持的压缩,例如 Snappy 或 LZ4。