2016-08-29 48 views
0

我在配置文件中讀取。說我結束了一個配置變量:作爲文字字節的字符串變量

header = '\x42\x5a\x68' 

我想使用startswith匹配二進制文件。

不出所料,我得到"TypeError startswith first arg must be bytes or a tuple of bytes, not str",如果我嘗試直接使用它。我如何使用這個字符串?我不希望它編碼。

我必須從文件中讀取字符串。如果還有其他方法可以解決這個問題,我就會全神貫注。謝謝閱讀!

+0

請編輯您的問題並添加產生錯誤的示例代碼。 – martineau

回答

0

如何使用此字符串?我不希望它編碼。

您必須。作出決定,要麼是從二進制文件中得到的字符串是decode,要麼是encodeheader名稱。你不能將這兩種類型混合在一起。

參見Text Vs. Data Instead Of Unicode Vs. 8-bit在python文檔,這些類型之間的所有混合(當它在startswith太發生時)將導致TypeError