python中的中文问题

2024-04-25 01:45:16 发布

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

我有一个用python2.7编写的中文程序,它给了我一些问题

代码:

# -*- coding: gb2312 -*- 
import sys
command = raw_input(">>> ").decode(sys.stdin.encoding)
if (command == u"你好".encode('utf-8')):
    print "etc"

我得到一个错误:

试验_中文.py:6:Unicode警告:Unicode相等比较无法将两个参数转换为Unicode-将它们解释为不相等 if(command==u“?).encode('utf-8')):

有什么不对的吗?你知道吗


Tags: 代码import程序inputrawifstdinsys
1条回答
网友
1楼 · 发布于 2024-04-25 01:45:16

您不需要encode您的unicode文本:u"你好",所以只需使用:

import sys
command = raw_input(">>> ").decode(sys.stdin.encoding)
if command == u"你好":
    print "etc"

老实说,您应该使用python3。对unicode的支持要好得多。实际上,str现在是unicode点的序列,这与python2中的“字节字符串”不同,后者已更改为bytes数据类型。在Python3中,您需要做的就是:

command = input(">>> ")
if command == "你好":
    print("etc")

相关问题 更多 >