如何快速检测字符串是否为zlib压缩?

10 投票
2 回答
9474 浏览
提问于 2025-04-16 13:48

在Python中,最快的方法来判断一个字符串是否被zlib压缩过。我现在使用的是这个方法。

def iscompressed(data):
    result = True
    try:
        s =zlib.decompress(data)
    except:
        result = False  
    return result

我相信还有更优雅的方式。

2 个回答

3

虽然要百分之百确定的方法就是实际尝试解压缩,但你可以通过查看zlib压缩方法和标志位的头部信息来做一个合理的猜测:

http://www.faqs.org/rfcs/rfc1950.html

11

你可以查看前两个字节来获取头部信息,不过这样做并不是百分之百可靠。

可以参考一下http://www.faqs.org/rfcs/rfc1950.html,第二章第2.2节。

撰写回答