如何用python将utf-8字符串转换为big5?

Han*_*ang 1 python unicode utf-8

我使用Python 2.6.6我的语言环境是('en_US','UTF8')

我尝试了很多方法将utf-8字符串转换为big5,但它无法正常工作.如果你知道怎么做,请给我一些建议,非常感谢.


一个叫"单车"的中文单词,意思是"自行车"

它的unicode是\ u55ae\u8eca

str_a = u'\u55ae\u8eca'
str_b = '\u55ae\u8eca'
print str_a    # output '??'
print str_b    # output '\u55ae\u8eca'
Run Code Online (Sandbox Code Playgroud)

我知道str_a可以工作,但我也希望将str_b转换为big5.

我尝试解码,编码,unicode,但它仍然无法正常工作.

有什么好主意吗?谢谢.

unu*_*tbu 5

str_b 是一个字节序列:

In [19]: list(str_b)
Out[19]: ['\\', 'u', '5', '5', 'a', 'e', '\\', 'u', '8', 'e', 'c', 'a']
Run Code Online (Sandbox Code Playgroud)

反斜杠u等等都只是单独的字符.将其与unicode对象中的unicode代码点序列进行比较str_a:

In [24]: list(str_a)
Out[24]: [u'\u55ae', u'\u8eca']
Run Code Online (Sandbox Code Playgroud)

要将格式错误的字符串转换str_b为unicode解码,请执行以下操作unicode-escape:

In [20]: str_b.decode('unicode-escape')
Out[20]: u'\u55ae\u8eca'

In [21]: print(str_b.decode('unicode-escape'))
??
Run Code Online (Sandbox Code Playgroud)