2015-06-13 62 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'"')