知行编程网知行编程网  2022-11-22 14:30 知行编程网 隐藏边栏  0 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python3编码类型有哪些?怎么转换?的相关知识,包括编码方式,以及python编码转换这些编程知识,希望对大家有参考作用。


经过小伙伴们的提醒,小编发现编码方面少讲了一个基础知识,所以有的小伙伴对这方面的内容比较模糊,这就让小编有点尴尬了。

收到大家的催促,小编马上就整理出了编码类型的资料,内容方面都是经过精简的,便于小伙伴们的阅读。在本篇的整理上,知识点的分析较以往会丰富一点。

今天小编就为大家详细讲解Python3编码的几种类型和转换方式。




1.Python和unicode

为了正确处理多语言文本,Python 在 2.0 版本之后引入了 Unicode 字符串。



2.python中的print

虽然python内部需要将文本编码转换为unicode编码,但是终端显示工作是由传统的Python字符串完成的(实际上Python的print语句根本无法打印出双字节Unicode编码的字符)。

Python的print会自动转换输出的unicode编码(对于其他非unicode编码,print会原样输出)(输出到控制台时),而文件对象的write方法不会。因此,当一些字符字符串用print输出是正常的时候,写入文件不一定和print一样。

linux下是根据环境变量转换的,linux下使用locale命令可以看到。打印语句的实现是将要输出的内容传送给操作系统,操作系统会根据系统的编码对输入的字节流进行编码。

>>>str='学习python'
>>> str
'\xe5\xad\xa6\xe4\xb9\xa0python' #asII编码
>>> print str
学习python
>>> str=u'学习python'
>>> str ####unicode编码
'\xe5u\xad\xa6\xe4\xb9\xa0python'



3. python中的decode




将其他字符集转换成unicode编码(只需要转换汉字)

>>> str='学习'
>>> ustr=str.decode('utf-8')
>>> ustr
u'\u5b66\u4e60'

这样就完成了汉字的编码转换,可以使用python进行后续处理; (如果不转换,python会根据机器的环境变量进行默认的编码转换,这样可能会出现乱码)




4.python中的encode




将unicode转化为其它字符集

>>> str='学习'
>>> ustr=str.decode('utf-8')
>>> ustr
u'\u5b66\u4e60'
>>> ustr.encode('utf-8')
'\xe5\xad\xa6\xe4\xb9\xa0'
>>> print ustr.encode('utf-8')

以上是Python3编码的四种,同时有一种转换方法。如果还有其他更好的方法,小编稍后会更新。本文编码类型为python基础知识,小伙伴们在学习时一定要加强记忆。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享