1

我想测试二进制数组是否b'volume\n1'包含换行符"\n" 我该怎么做?我测试了两者'\n' in word"\n" in word并且都给出了相同的错误。

TypeError: Type str doesn't support the buffer API
4

3 回答 3

1
b'\n' in b'volume\n1'

(provided by falsetru)

于 2013-09-26T03:57:34.520 回答
1

基本上,bytearray它是一个由小整数组成的可变数组,并且string是一种类型string,因此您不能询问它是否包含字符串文字。

尝试 ord('\n')

换句话说,ord是一个将string大小为 1 的 a 转换为 that 的 ascii 的函数char,它是一个整数。

出于同样的原因,你不能做word[1] = 'a'word[1] = b'a'但你可以做word[1] = ord('b')word[1] = b'a'[0]

于 2013-09-24T05:01:00.520 回答
0
    >>> a = b"volume\n1"
    >>> "\n" in a
    True
    >>> "\b" in a
    False
    >>> b"\n" in a
    True
    >>>

但是,代码就在这里。

于 2013-09-24T05:08:42.663 回答