本文实例讲述了在windows命令窗口下执行Python文件产生乱码的问题, 供大家参考:
Ps: 如有错误还请指正, 欢迎交流学习
# -*- coding:utf-8 -*-str = "彦雪"print str
执行后, 输出结果如下:
褰﹂洩
乱码结果和大家可能不同, 不过也都是乱码啦!!
问题分析
Python2 默认编码为 "ascii", ascii编码不包含中文字符
如果在其中有中文字符的话, Python解释器一般会报错.
但如果指定了以UTF-8 编码, Python就不再报错.
"# -- coding:utf-8 --" 是指定Python源码以 UTF-8 编码。
window默认编码为gbk编码,所以str输出前必须编码为gbk。
由于Python中不允许直接将将utf-8 转为gbk, 因此需要先将utf-8 转为unicode 再转为gbk
深度分析
这种方法有一种弊端 就是当我们在跨平台的时候就会出现问题, 因此Python 为我们提供了一个方便的解决方案使用 unicode 作为输出 -- 此方法不适用于raw_input
当需要打印输出时,Python 会首先调取字符输出程序(命令行或者输出函数)的编码格式,然后将该字符串编码成字符输出程序所用的编码(这样字符输出程序就不会因为认不出编码而出现乱码),接着字符输出程序将编码后的字符输出到目的地。
解决方法
# 方法一 中文前加u, 告诉Python解释器后面的是个unicode编码str = u"彦雪"
# 方法二 str.decode('utf-8') 以utf-8编码对字符串 str 进行解码, 获取unicodestr = "彦雪".decode('utf-8')
# 方法三 unicode(str, 'utf-8') 将字符串 str 以utf-8编码解码, 获取unicodestr = unicode('彦雪','utf-8')
在windows命令窗口raw_input 显示乱码
使用raw_input 需要将中文转换为系统编码, 方法如下列所示
# 方法1 str.encode("gbk") 将unicode转为gbk 编码content = raw_input(u"输入内容: ".encode("gbk"))
# 方法2content = raw_input("输入内容: ".decode('utf-8').encode("gbk"))
# 方法3content = raw_input(unicode('输入内容: ','utf-8').encode("gbk"))
虽然这种写法很方便, 但是跨平台效果较差, 个人不推荐这种写法, 建议中文字符和raw_input 分开写. 通过其他手段达到在同一行的目的
扩展阅读
Python的编码注释# -- coding:utf-8 --
PEP 263 -- Defining Python Source Code Encodings
关于Python的编码、乱码以及Unicode的一些研究
raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题
探寻
目前离职, 在等待的过程中, 分享下以前经常遇到的问题和大家探讨, 希望对大家有所帮助, 欢迎指正
在分享知识中寻找自我,享受编程之乐
以上是Python2.7 在windows命令窗口 输出中文乱码的详细内容。更多信息请关注PHP中文网其他相关文章!

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。 Python以简洁和强大的生态系统着称,C 则以高性能和底层控制能力闻名。

2小时内可以学会Python的基本编程概念和技能。1.学习变量和数据类型,2.掌握控制流(条件语句和循环),3.理解函数的定义和使用,4.通过简单示例和代码片段快速上手Python编程。

Python在web开发、数据科学、机器学习、自动化和脚本编写等领域有广泛应用。1)在web开发中,Django和Flask框架简化了开发过程。2)数据科学和机器学习领域,NumPy、Pandas、Scikit-learn和TensorFlow库提供了强大支持。3)自动化和脚本编写方面,Python适用于自动化测试和系统管理等任务。

两小时内可以学到Python的基础知识。1.学习变量和数据类型,2.掌握控制结构如if语句和循环,3.了解函数的定义和使用。这些将帮助你开始编写简单的Python程序。

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

Python3.6环境下加载Pickle文件报错:ModuleNotFoundError:Nomodulenamed...

如何解决jieba分词在景区评论分析中的问题?当我们在进行景区评论分析时,往往会使用jieba分词工具来处理文�...


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3汉化版
中文版,非常好用

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能