这是我的场景:我有一个 Unicode 字符串列表。我收到一个名为“input”的 utf8 字符串,并希望将其与列表中的其余元素一起记录。所以我解码它并得到一个 Unicode 对象,但是当我将它附加到列表时,它的类型变为“str”。这里发生了什么?
a_list = [u"ááááá", u"eééééée"]
#'input' is a utf8 str
obj = input.decode("utf-8")
log.debug(type(obj))
log.debug(obj)
a_list.append(obj)
for elem in a_list:
log.debug(type(elem))
日志:
DEBUG - <type 'unicode'>' # obj
<(THIS IS ONLY FOR SIMPLIFY) obj with accents (unicode chars)>
DEBUG - <type 'unicode'>'
DEBUG - <type 'unicode'>'
DEBUG - <type 'str'>' # ------> obj's type changed!!!
编辑:Python 2.7.3
输入是来自 Flask 微框架中请求对象的“request.data”