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

2024-05-17 18:24:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Python2.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'

我知道strúa可以工作,但我也想把strúb转换成big5。

我试过解码,编码,unicode,但还是不行。

有什么好主意吗?谢谢。


Tags: 方法语言output环境unicode自行车utf8utf
2条回答

你应该能够做到:

str_a = u'\u55ae\u8eca'
str_b = str_a.encode('big5')
print str_a
print str_b.decode('big5')

str_b是一个字节序列:

In [19]: list(str_b)
Out[19]: ['\\', 'u', '5', '5', 'a', 'e', '\\', 'u', '8', 'e', 'c', 'a']

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

In [24]: list(str_a)
Out[24]: [u'\u55ae', u'\u8eca']

要使用unicode-escape将格式错误的字符串str_b转换为unicode解码:

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

In [21]: print(str_b.decode('unicode-escape'))
單車

相关问题 更多 >