如何快速检测一个字符串是否被zlib压缩?

10

在Python中,最快的方法是如何确定一个字符串是否被zlib压缩了。我目前正在使用以下代码:

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

我相信有更优雅的方法。


3
永远不要使用裸的 except:,这会导致错误结果。请改用 except zlib.error: 来捕获正确的错误。 - nosklo
2个回答

11

1
你可以在单个字符上使用 ord()(例如,ord(your_str[0]))来获取该 ASCII 字符的整数值。然后可以使用位运算符 (&, |, ^) 检查特定的位。 - Amber
1
谢谢您提供的信息,我应该具体检查什么?如果字符串被解码,前两个字节应该是什么? - Maroun

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接