如何使用'ascii'的子集解码()?

时间:2015-10-19 20:51:13

标签: python python-3.x unicode decode

我得到字节码数据(b'something'),我try:.decode('ascii')检查这是否是ASCII文本。问题是

In [11]: b'\x00\x0c\x00'.decode('ascii')
Out[11]: u'\x00\x0c\x00'

所以被认为是“文本”并不是我想要的(32126 ASCII码。有没有办法使用'ascii'的子集进行解码?

1 个答案:

答案 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)