如何将错误保存的字节对象转换回字节?(python/django)
我下载了一些带有请求的网页,并使用Django的ORM将内容保存在postgres数据库[文本字段]中。关于正在发生的事情,请看:如何将错误保存的字节对象转换回字节?(python/django),python,django,python-unicode,Python,Django,Python Unicode,我下载了一些带有请求的网页,并使用Django的ORM将内容保存在postgres数据库[文本字段]中。关于正在发生的事情,请看: art = Article() page = requests.get("http://example.com") art.raw_html = page.content art.save() 我验证了page.content是一个bytes对象,我猜我假设这个对象在保存时会自动解码,但它似乎不是。。。它已经被转换成某种奇怪的字节对象字符串表示形式,表面上是由Dj
art = Article()
page = requests.get("http://example.com")
art.raw_html = page.content
art.save()
我验证了page.content是一个bytes对象,我猜我假设这个对象在保存时会自动解码,但它似乎不是。。。它已经被转换成某种奇怪的字节对象字符串表示形式,表面上是由Django实现的。当我调用art.raw_html时,在解释器中看起来是这样的:
'b\'\\n您可以使用eval或ast.literal\u eval,如下所示
data=“b'GAAAABC1arg48DMSOWQEBEIUH-FQONSRNCOK9OVXXOE2CBBE2A46GMP6SPYYMDFT1YP5HSOHEZXE0KLJBSDWTGPG5JCYHMMA=”
评估(数据)
b'GAAAABC1ARG48DMSOWQEBEIUH-FQONSRNCOK9OVXXOE2CBBE2A46GMP6SPYYMDFT1YP5HSOHEZEXE0KLJBSDWTGPG5JCYHMMA=='
使用ast.literal\u eval
导入ast
ast.literal_eval(数据)
感谢@juanpa.arrivillaga。我刚刚补充了答案。您可以使用eval
或更安全的ast.literal\u eval
这非常有效!您想将其添加为答案,以便我可以将其标记为答案吗?