字符串变量作为文字字节

时间:2016-08-29 23:32:10

标签: python string python-3.x

我正在阅读配置文件。假设我最终得到了一个配置变量:

header = '\x42\x5a\x68'

我想使用startswith将其与二进制文件进行匹配。

不出所料,如果我尝试直接使用它,我会得到"TypeError startswith first arg must be bytes or a tuple of bytes, not str"。我该如何使用这个字符串?我不希望它编码。

我必须从文件中读取字符串。如果还有其他方法可以解决这个问题,我会全力以赴。谢谢你的阅读!

1 个答案:

答案 0 :(得分:0)

  

我如何使用此字符串?我不希望它被编码。

你必须。做出决定,decode您从二进制文件获得的字符串,或encode header名称。你不能将这两种类型混合在一起。

请参阅python文档中的 Text Vs. Data Instead Of Unicode Vs. 8-bit ,这些类型之间的所有混合(因为它也出现在startswith中)将导致TypeError