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中的编码问题 - 草稿
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 编码问题一直困扰着开发人员,尤其在 Java 中更加明显,因为 Java 是跨平台语言,不同平台之间编码之间的切换...