Python中的幽灵—编码方式

Python中的幽灵—编码方式,第1张

概述首先要搞懂本地 *** 作系统编码与系统编码的区别: 本地 *** 作系统编码方式与 *** 作系统有关,Linux默认编码方式为utf-8,Windows默认编码方式为gbk; 系统编码方式与编译器or解释器有关,Python3解释器默认编码方式为unicode。 编码方式不仅仅代表编码,也包括解码,因为编码与解码是相对应的。 好了,进入正题: 字符串的encode方法会默认编码为utf8格式,gbk编码方式兼容gb2

首先要搞懂本地 *** 作系统编码与系统编码的区别:

本地 *** 作系统编码方式与 *** 作系统有关,linux默认编码方式为utf-8,windows默认编码方式为gbk; 系统编码方式与编译器or解释器有关,python3解释器默认编码方式为unicode。 编码方式不仅仅代表编码,也包括解码,因为编码与解码是相对应的。

好了,进入正题:


字符串的encode方法会默认编码为utf8格式,gbk编码方式兼容gb2312



两个文件都出现了这样的问题
&nbsp
其中一个我们点击Reload in “GBK”进行了重载,内容正常显示了


另一个我们点击下面的GBK编码方式看看



什么意思呢,我来解释一下
Reload:从硬盘中以新的编码方式读取内容并显示在编辑器上,文件在硬盘上的编码方式不改变
Convet:将现在编辑器上的内容以新的编码方式写入硬盘,覆盖掉原先的内容,编码方式改变。
第一个文件已经选择了Reload,这个文件我们选择Convert
所以,这个文件会将Python?е????顪?????这些内容以gbk编码方式存入硬盘,结果是这样

接下来我们验证以下我们的想法

补充:
网络上的数据以字节流的方式传输,所以


要用utf-8解码才可以得到正确的字符串内容
&nbsp
当然如果想存入文件的话就需要注意啦

从文件中读取的时候可要小心啊,要以文件相应的编码方式读出,比如open函数指定enCoding,或者以二进制方式读出,之后在调用str.decode()方法以指定enCoding解码。

总结

以上是内存溢出为你收集整理的Python中的幽灵—编码方式全部内容,希望文章能够帮你解决Python中的幽灵—编码方式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1195298.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存