如果字符串是zlib压缩的,如何快速检测?

时间:2011-03-16 08:48:58

标签: python zlib

在python中确定字符串是否被zlib压缩的最快方法是什么。我目前正在使用它。

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

我相信有一种更优雅的方式。

2 个答案:

答案 0 :(得分:10)

您可以检查前2个字节的标题信息 - 然而,它不是100%安全。

http://www.faqs.org/rfcs/rfc1950.html,第2.2章

答案 1 :(得分:2)

虽然100%确定的唯一方法是实际尝试解压缩,但您可以通过查找zlib压缩方法+标记标题位来做出合理的猜测:

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