python中用来确定字符串是否被zlib压缩的最快方法是什么?我正在使用这个。如何快速检测字符串是否被zlib压缩?
def iscompressed(data):
result = True
try:
s =zlib.decompress(data)
except:
result = False
return result
我确定有一种更优雅的方式。
python中用来确定字符串是否被zlib压缩的最快方法是什么?我正在使用这个。如何快速检测字符串是否被zlib压缩?
def iscompressed(data):
result = True
try:
s =zlib.decompress(data)
except:
result = False
return result
我确定有一种更优雅的方式。
你可以检查标题信息的前2个字节 - 但它不是100%安全的。
谢谢,我该如何从python字符串中检索字节? – LouisChiffre 2011-03-16 08:56:06
您可以在单个字符上使用'ord()'(例如'ord(your_str [0])')来获取该ASCII字符的整数值。然后你可以使用按位运算符('&','|','^')来检查特定的位。 – Amber 2011-03-16 08:57:47
谢谢。有用。 – LouisChiffre 2011-03-16 09:01:06
而只有这样,才能100%肯定的是实际尝试进行解压,可以通过寻找zlib压缩方法做一个合理的猜测+旗头位:
永远不要使用裸'除非:' - 它会让你错误的结果。使用'除了zlib.error:'来代替正确的错误。 – nosklo 2011-03-16 11:52:33
好的建议。谢谢。 – LouisChiffre 2011-03-16 21:48:20