首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用raw_input获取中文字符

如何使用raw_input获取中文字符
EN

Stack Overflow用户
提问于 2013-08-22 11:12:17
回答 2查看 211关注 0票数 1

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

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

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

EN

回答 2

Stack Overflow用户

发布于 2013-08-22 11:16:10

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

代码语言:javascript
复制
import sys

t = raw_input().decode(sys.stdin.encoding)
print t
票数 3
EN

Stack Overflow用户

发布于 2013-08-22 11:29:45

检查您正在使用的编码。基于@imom0's comment,我尝试了gbk编码。具体地说,这是我的Python2.7.3解释器,通过ibus使用UTF-8编码作为输入:

代码语言:javascript
复制
>>> print raw_input().decode('gbk')
你好世界
浣犲ソ涓栫晫
>>> print raw_input().decode('utf-8')
你好世界
你好世界

这是尝试将UTF8编码的字符串解码为gbk的结果。既然您的输入似乎是某种形式的UTF,为什么不强制执行utf-8解码或者使用输入的编码来解码它,就像在@ignacio-vazquez-abrams' answer中一样

代码语言:javascript
复制
import sys

print myString.decode(sys.stdin.encoding)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18371083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档