我得到字节码数据(b'something'
),我try:
到.decode('ascii')
检查这是否是ASCII文本。问题是
In [11]: b'\x00\x0c\x00'.decode('ascii')
Out[11]: u'\x00\x0c\x00'
所以被认为是“文本”并不是我想要的(32
到126
ASCII码。有没有办法使用'ascii'
的子集进行解码?
答案 0 :(得分:1)
在python 2中:
def test_if_ascii(text):
if isinstance(test, unicode):
raise TypeError('hey man, dont feed me unicode plz')
return all(32 <= ord(c) <= 126 for c in text)
在python 3中的几乎相同,只是unicode调用'str',字节被称为'bytes'
def test_if_ascii(text):
if isinstance(test, str):
raise TypeError('hey man, dont feed me unicode plz')
return all(32 <= ord(c) <= 126 for c in text)