当前位置: 首页 > 面试题库 >

如何在我的代码中打印中文单词..使用python

范霄
2023-03-14
问题内容

这是我的代码:

print '哈哈'.decode('gb2312').encode('utf-8')

…它打印:

SyntaxError: Non-ASCII character '\xe5' in file D:\zjm_code\a.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

如何打印“哈哈”?

更新: 当我使用以下代码时:

#!/usr/bin/python
# -*- coding: utf-8 -*-

print '哈哈'

…它打印鍝堝搱。那不是我想要得到的。

我的IDE是Ulipad,这是IDE的错误吗?

第二次更新:

此代码将正确打印字符:

#!/usr/bin/python
# -*- coding: utf-8 -*-


print u'哈哈'.encode('gb2312')

…当我使用这个:

#!/usr/bin/python
# -*- coding: utf-8 -*-

a='哈哈'
print a.encode('gb2312')
Traceback (most recent call last):
  File "D:\zjm_code\a.py", line 5, in <module>
    print a.encode('gb2312')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)

…要么…

#!/usr/bin/python
# -*- coding: utf-8 -*-

a='哈哈'
print unicode(a).encode('gb2312')
Traceback (most recent call last):
  File "D:\zjm_code\a.py", line 5, in <module>
    print unicode(a).encode('gb2312')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)

…这是行不通的。如何a正确打印变量?

谢谢


问题答案:

您首先需要声明一个编码,因为错误消息说得很清楚-
它甚至告诉您在这里查看详细信息!您的编码大概是gb2312

顺便说一句,这样做会更简单(使用相同的编码声明)

print u'哈哈'.encode('utf-8')

and you may not even need the encode part, if your sys.stdout has an
encoding attribute properly set (depends on your terminal, OS, etc).



 类似资料:
  • 问题内容: 我可以在自己的代码中使用“类型”一词,还是保留?我的函数头: 谢谢 问题答案: 使用作为关键字参数传递给函数将掩盖内置函数“类型”的功能范围之内。因此,尽管这样做不会提高,这不是一种好的做法,但我会避免这样做。

  • 问题内容: 如何在Java用户输入中打印出单个单词?示例:用户输入:“我们爱妈妈,她是最好的”。该程序假设打印“妈妈”,因为第一个字符和最后一个字符相同。我的代码最后没有显示任何内容。这是我的代码: 问题答案: 无需解析字符串的每个字母,您可以将输入拆分成单词数组并分别检查每个单词。 您可以保持循环,但只需要检查是否与处的循环相同 这是一个工作示例。请注意,我已经删除了扫描仪部件,以使其在我正在使

  • 这是我使用jsp和jstl的代码: 如何使用Thymeleaf进行同样的操作?以下代码无效: 当我不发表评论时,会在页面上显示消息: 无法访问URL:http://localhost:8080/blog-spring-thymeleaf/auth/login 异常:org.springframework.web.servlet.NoHandlerFoundException:找不到GET /blo

  • 我试图在bash中使用cat生成一个文件,在bash中,我已经运行了一个脚本,我保存到一个变量中,然后将在cat中使用。为了运行脚本并将输出保存到变量,我使用了以下方法: 接下来,我将展示一个cat文件的摘录,其中使用了变量RESULT。 运行bash后,我得到的是变量RESULT的正确输出。但是,文件开头有一个单词echo(如下所示)。这是有问题的,因为我试图自动化代码,添加echo这个词会破坏

  • 这是本字典 将此 它打印以下内容: 但我想让程序像这样打印: 我刚开始学字典,所以我不知道怎么做。

  • 问题内容: 我想打印任何文本而不在Java中使用system.out.println()吗?如果可以,那么怎么办?任何想法。 问题答案: