首页 / PYTHON / python 编码问题
python 编码问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python 编码问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1364字,纯文字阅读大概需要2分钟。
内容图文
![python 编码问题](/upload/InfoBanner/zyjiaocheng/833/17d760ed86f943cb9147438ea4cc0981.jpg)
一、如何查看读取文件的编码
"""
windows中文件的编码为:GB2312,Linux中文件的编码为:UTF-8
即windows中新的txt编码为GB2312
"""
import chardet #引入查看编码的模块 with open('d:/ceshi/aa1.txt', 'r') as ff: cc=ff.read().encode('GB2312') dd=chardet.detect(cc) print(dd) 或
import chardet #引入查看编码的模块 with open('d:/ceshi/aa1.txt', 'rb') as ff: cc=ff.read() dd=chardet.detect(cc) print(dd)
结果:
{'encoding': 'GB2312', 'confidence': 0.3703703703703704, 'language': 'Chinese'}
注意:chardet中detect只支持encodi编码过的类型,如果没有编码的类型会类型错误。
二、如何改变读取文件的编码
import chardet #引入查看编码的模块 with open('d:/ceshi/aa1.txt', 'r') as ff: #读取的时候是gb2312 cc=ff.read().encode('utf-8') #改变编码为utf-8 dd=chardet.detect(cc) #调用查看编码模块 print(dd) #查看编码类型 结果: {'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}
改变后,可以直接写入文件,上传至linux后即不会出现乱码,记住写入时候需要必须使用wb格式,因为open中的write仅支持str类型,所以,需要使用byte类型写入
with open("d:/ceshi/aa9.txt",'wb') as hh: hh.write(cc)
三、编码与解码
encode 编码 和 decode 解码 with open('d:/ceshi/aa1.txt', 'r') as ff: cc=ff.read().encode('utf-8') #使用utf-8进行编码 kk=cc.decode('utf-8') #使用utf-8进行解码 print(cc) print('-----------') print(kk) 结果: b'\xe6\x9a\x97\xe6\x81\x8b\xe6\x88\x91\xe6\x8b\x89\xe6\x8e\x89\xe8\x89\xbe\xe8\xbf\xaa\xe5\xba\xb7klsjdflad12\n' ----------- 暗恋我拉掉艾迪康klsjdflad12
内容总结
以上是互联网集市为您收集整理的python 编码问题全部内容,希望文章能够帮你解决python 编码问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。