我想测试二进制数组是否b'volume\n1'
包含换行符"\n"
我该怎么做?我测试了两者'\n' in word
,"\n" in word
并且都给出了相同的错误。
TypeError: Type str doesn't support the buffer API
我想测试二进制数组是否b'volume\n1'
包含换行符"\n"
我该怎么做?我测试了两者'\n' in word
,"\n" in word
并且都给出了相同的错误。
TypeError: Type str doesn't support the buffer API
b'\n' in b'volume\n1'
(provided by falsetru)
基本上,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]
>>> a = b"volume\n1"
>>> "\n" in a
True
>>> "\b" in a
False
>>> b"\n" in a
True
>>>
但是,代码就在这里。