python中的编码是一个很困扰人的问题,只要弄清楚三个部分,编码问题就迎刃而解。
我们把全部情况分为三个部分:io读取设备的编码,python本地环境的编码,io写入设备的编码。其中,io写入设备,包括文件,数据库,网络流等,我们从这里读取数据进行处理;python本地环境是我们设置的本地编码,我们在这个环境下进行处理;io写入设备和io读取设备一样,只不过数据流向不同而已。
假如我们有一个gbk编码的json文件,本地环境为utf8,如果我们直接
with open("文件名")as f的话,这时候默认的读取方式就是用utf8格式把gbk读进来,当然会出错。但是我们open("文件名",encoding="gbk")后,我们就可以正确读进来。
同理,如果我们想把数据写入一个地方,比如数据库,数据库的存储格式为utf8,则我们存储的时候要 内容.encode(encoding="utf-8"),这样才能使输出的编码和数据库一致。
只要理解了在不同地方用的编码不一样,python的编码问题就迎刃而解了。
python中的编码问题 - 草稿
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 编码问题一直困扰着开发人员,尤其在 Java 中更加明显,因为 Java 是跨平台语言,不同平台之间编码之间的切换...