这与使用UTF-8解码无关。这是关于将bytes对象作为文本读取并需要它作为bytes对象,而无需重新创建解析过程。如果我的问题有答案的话,那就是隐藏在很多关于解码问题的答案后面。在
我需要的是:
x = "bytearray(b'abc\xd8\xa2\xd8\xa8\xd8\xa7xyz')"
y = ???(x, ???)
z = bytearray(b'abc\xd8\xa2\xd8\xa8\xd8\xa7xyz')
if y == z:
print ("Yes!")
对于如何替换这些问号有什么建议吗?在
谢谢!在
^{pr2}$
Tags:
一种方法是从x(
bytearray(b'
和')
)中删除所有的混乱,然后我们只需将每个字符转换为它的字节表示,并将其包装成bytearray
对象。在下面的第二种方法不会局限于
^{pr2}$bytearray
,您应该小心使用它来防止注入,但是如果您确定内容的格式正确,可以使用以下方法:这里您需要在
x
前面加上r"..."
,以防止反斜杠立即将unicode序列插入x中。因此,可能无法将此用于动态内容,例如来自标准输入或从文件读取的字符串。在您也可以按照kindall的建议使用
ast.literal_eval(x[10:-1])
。在相关问题 更多 >
编程相关推荐