如何在Python 2.7中将UTF-16解码为japanese

时间:2018-01-29 09:34:04

标签: python-2.7

我刚刚开始学习python,并希望将网址信息解码为日语单词。

>>> s1 = '\u4e2d\u99ac\u8fbc\u30cf\u30a4\u30c4'
>>> print s1 
\u4e2d\u99ac\u8fbc\u30cf\u30a4\u30c4
>>> print u'\u4e2d\u99ac\u8fbc\u30cf\u30a4\u30c4'
中馬込ハイツ

我认为这是一个非常基本的问题,而且我已经搜索了utf-16,但它没有成功。如何打印s1并获取日语单词?

2 个答案:

答案 0 :(得分:0)

更新:更好的方式:

import codecs

s1 = '\u4e2d\u99ac\u8fbc\u30cf\u30a4\u30c4'
print (codecs.decode(s1,'unicode-escape'))

(来自here

原始回答:

如何在字符串前添加u呢?像这样:

s1 = u'\u4e2d\u99ac\u8fbc\u30cf\u30a4\u30c4'
print s1

如果您已经拥有字符串,就像您的问题一样,我会这样做:

s1 = '\u4e2d\u99ac\u8fbc\u30cf\u30a4\u30c4'
string = eval ("u'"+s1+"'")
print (string)

# or you can do this:
print (eval ("u'"+s1+"'"))

可能有更好的方法,但这有效。

请注意,有些终端不会像这样显示unicode字符。它适用于Ubuntu,但不适用于Windows 10。

答案 1 :(得分:0)

try:
  print(eval ("u'"+s1+"'"))
except:
  print(eval(s1))

可以肯定的工作,我陷入了类似的问题 如果可行,请投票。