1

我的开发环境是:eclipse+pydev。

如果我使用 raw_input() 来获取字符,我输入“你好世界”,然后我得到“浣犲ソ涓栫晫”。那我怎样才能得到“你好世界”并正确打印出来。

我试过 raw_input().decode(sys.stdin.encoding),但结果是一样的。

4

2 回答 2

3

使用终端/控制台的代码页进行解码。

import sys

t = raw_input().decode(sys.stdin.encoding)
print t
于 2013-08-22T03:16:10.113 回答
0

检查您使用的编码。根据@imom0 的评论,我去尝试了gbk编码。具体来说,这是我的 python 2.7.3 解释器,输入为 UTF-8 编码ibus

>>> print raw_input().decode('gbk')
你好世界
浣犲ソ涓栫晫
>>> print raw_input().decode('utf-8')
你好世界
你好世界

这是尝试将 UTF-8 编码字符串解码为gbk. 由于您的输入似乎是某种形式的 UTF,为什么不强制执行 utf-8 解码或使用输入的编码对其进行解码,如@ignacio-vazquez-abrams 的回答

import sys

print myString.decode(sys.stdin.encoding)
于 2013-08-22T03:29:44.910 回答