python 在windows 中文显示
Posted 逆水行舟,不进则退
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 在windows 中文显示相关的知识,希望对你有一定的参考价值。
今天看到mechanize,在网上找例子实验,发现只要代码里出现中文,就会报错
SyntaxError: Non-ASCII character \'\\xe4\' in file testMech.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
python的默认编码文件是用的ASCII码
使用notepad++
(1)文件编码为:以UTF-8无BOM格式编码
如果python文件中使用了中文等非英语字符,就会报错了
解决的方法
在Python源文件的第一行加上
# coding=UTF-8
或者
# -*- coding:UTF-8 -*-
输出
# -*- coding:UTF-8 -*- string=\'你好\' print string
改为
# -*- coding:UTF-8 -*- string=\'你好\' print string.decode(\'UTF-8\')
中文字符串是保存在元组、列表或者字典里,可以调用json模块的dumps方法
# -*- coding:UTF-8 -*- import json print u\'你好\' string=\'你好\' print string.decode(\'UTF-8\') t_tuple=(\'嗨\',\'你好\') t_list=[\'嗨\',\'你好\'] t_dict={1:\'嗨\',2:\'你好\'} print json.dumps(t_tuple,encoding=\'UTF-8\',ensure_ascii=False) print json.dumps(t_list,encoding=\'UTF-8\',ensure_ascii=False) print json.dumps(t_dict,encoding=\'UTF-8\',ensure_ascii=False)
(2)文件编码为:以ANSI格式编码
#coding:gbk string=\'你好\' print string
中文输出正常
#coding:gbk import json string=\'你好\' print string t_tuple=(\'嗨\',\'你好\') t_list=[\'嗨\',\'你好\'] t_dict={1:\'嗨\',2:\'你好\'} print json.dumps(t_tuple,encoding=\'gbk\',ensure_ascii=False) print json.dumps(t_list,encoding=\'gbk\',ensure_ascii=False) print json.dumps(t_dict,encoding=\'gbk\',ensure_ascii=False)
#coding:gb2312或者#coding:gbk都可以的
以上是关于python 在windows 中文显示的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段