#coding=utf-8的作用 还是乱码
来源:互联网 发布:搭建局域网网络硬盘 编辑:程序博客网 时间:2024/06/07 11:11
乱码产生的原因是Python在读取时默认解码方式是用操作系统编码,如果和保存时的编码方式不一样,就会出现乱码
比如以下片段,文件保存格式是utf-8
#coding=utf-8print '是' #输出乱码
因为windows默认的编码方式是GBK,python文件保存时使用了utf-8,在读取时,python使用GBK的编码表去解utf-8编码的字节码,因为GBK与UTF-8编码不兼容,自然出现了乱码问题
解决方法:
1.直接使用 u'是' 形式,指明以unicode编码,解码方式会以顶部 #coding定义的编码方式,如果不写,以操作系统当前编码方法,建议写上#coding,因为要让操作系统编码和源文件编码经常会不一样。推荐使用这种方式
2.输出时指定解码方法
3.将#coding 和保存编码改为和操作系统一样的编码,就可以直接print '是' 正常输出,也不推荐,因为需要事先知道操作系统编码,复制到其他电脑上,操作系统编码不一样就会出错
#coding=gbkprint u'是' #方法1print '是'.decode("gbk") #方法2print '是' #方法3
注意:
#coding指明的编码必须和保存的编码一样,不然1,3方法都会产生错误,原因也是保存编码和读取编码不一致。一般IDE能够自动根据#coding保存文件
阅读全文
0 0
- #coding=utf-8的作用 还是乱码
- python编码声明:是coding:utf-8还是coding=utf-8
- [Python]编码声明:是coding:utf-8还是coding=urf-8呢
- python编码声明:是coding:utf-8还是coding=urf-8呢?
- [Python]编码声明:是coding:utf-8还是coding=urf-8呢
- 论#coding=utf-8的位置
- java乱码 java使用的编码是utf-8还是utf-16还是unicode
- Python的编码注释# -*- coding:utf-8 -*-
- Python的编码注释# -*- coding:utf-8 -*-
- Python的编码注释# -*- coding:utf-8 -*-
- Python的编码注释# -*- coding:utf-8 -*-
- Python的编码注释# -*- coding:utf-8 -*-
- Python的编码声明 # -*- coding:utf-8 -*-
- Python的编码注释# -*- coding:utf-8 -*-
- Python的编码注释# -*- coding:utf-8 -*-
- python“# -*- coding: UTF-8 -*-”
- # -*- coding: UTF-8 -*-
- python #-*- coding:utf-8-*-
- 程序员成长之路001
- 数据结构之树
- 1621: [Usaco2008 Open]Roads Around The Farm分岔路口(记忆化搜索)
- Cookie与Session的区别
- 值传递引用传递(java)
- #coding=utf-8的作用 还是乱码
- 【洛谷3834】 【模板】可持久化线段树 (主席树)
- /etc/profile,/etc/bashrc,~/.bash_profile,~/.bashrc,~/.bash_logout的区别
- js复习笔记day7
- HDU
- 数据包络分析法(DEA)在数学建模中的应用
- canvas标签的用法
- 排列和组合简单的递归思路以及C++实现
- PAT A 1095. Cars on Campus (30)