如何使__repr__返回unicode字符串

xra*_*alf 8 python unicode repr

__repr__()在对象上调用函数x如下:

val = x.__repr__()

然后我想将val字符串存储到SQLite数据库.问题是val应该是unicode.

我试过这个没有成功:

val = x.__repr__().encode("utf-8")

val = unicode(x.__repr__())

你知道怎么纠正这个吗?

我正在使用 Python 2.7.2

Ign*_*ams 16

对象的表示不应该是Unicode.定义__unicode__方法并将对象传递给unicode().

  • @Joucks:请参阅http://stackoverflow.com/questions/3627793/best-output-type-and-encoding-practices-for-repr-functions (3认同)
  • 您能解释一下为什么对象的表示不应该是unicode吗?谢谢 (2认同)

Rom*_*huk 9

repr(x).decode("utf-8")并且unicode(repr(x), "utf-8")应该工作.