2015-06-13 65 views
0

這可能是重複的,但我無法解決我的問題。 此行給我的錯誤Python 3字節與字符串

TypeError: 'str' does not support the buffer interface .

unescaped = html.replace(r'\""', '"') 

這是否意味着我必須寫

unescaped = html.replace(bytes(r'\""', 'UTF-8'), bytes('"', 'UTF-8')) 

每次我需要更換一個字符串?

預先感謝您。

+1

[類型錯誤:「STR」不支持緩衝區接口]的可能重複(HTTP:/ /stackoverflow.com/questions/5471158/typeerror-str-does-not-support-the-buffer-interface) – GolezTrol

+0

你從哪裏得到的HTML(和它是什麼編碼)?我猜你應該解碼html,然後替換(或者用html做任何你想做的),最後如果你需要的話,把它編碼回你需要的編碼。 – syntonym

+0

@GolezTrol:那肯定比那更好。這是關於字面值的,而不是從其他地方讀取的字符串數據。 –

回答

3

您正在使用文本值所以只用一個bytes文本字符串,用b前綴:

unescaped = html.replace(rb'\""', b'"')