如何在python中将unicode字符串编码为utf-8?

时间:2014-04-10 08:55:58

标签: unicode character-encoding

我从websocket连接获取响应时总是遇到此错误:

    print type(json.dumps(data))
TypeError: 'unicode' object is not callable

也:

    print type(data)
TypeError: 'unicode' object is not callable

    print type(str(data))
TypeError: 'unicode' object is not callable

有人可以教我如何将数据字符串编码回utf-8吗?

1 个答案:

答案 0 :(得分:2)

您(或您使用的库,但更可能是您)已覆盖全局范围内的变量type

我在这里以同样的方式打破东西:

>>> type(1)
<type 'int'>
>>> type(u'9')
<type 'unicode'>
>>> type('9')
<type 'str'>
>>> type = u'i'
>>> type(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'unicode' object is not callable

要将Unicode字符串编码为UTF-8字节字符串,请调用.encode('UTF-8')

>>> u'€'.encode('utf-8')
'\xe2\x82\xac'