如何将内容“আপনার”存储为UTF-8“আপনার”?我尝试过以下方法:
>>> content = "আপনার"
>>> content
'\xe0\xa6\x86\xe0\xa6\xaa\xe0\xa6\xa8\xe0\xa6\xbe\xe0\xa6\xb0'
>>> content = "আপনার".encode("UTF-8")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)
>>> content = "আপনার".decode("UTF-8")
>>> content
u'\u0986\u09aa\u09a8\u09be\u09b0'
答案 0 :(得分:2)
第二个可行,但您必须使用print content
而不是content
:
>>> content = "আপনার".decode("UTF-8")
>>> print content
আপনার
__str__
和__repr__
这是对象的str
和__repr__
格式之间的差异。第一个是人类可读的,第二个是暴露内部并且对象是唯一的。您可以在Difference between __str__ and __repr__ in Python中阅读更多内容。
>>> print unicode(content)
আপনার
__repr__
表示>>> print content.__repr__()
u'\u0986\u09aa\u09a8\u09be\u09b0'