知行编程网知行编程网  2022-12-13 09:00 知行编程网 隐藏边栏  6 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python3字符编码是什么?怎么用?的相关知识,希望可以帮到处于编程学习途中的小伙伴

最近一直在讲python基础,小编一直在考虑要不要增加难度。这个问题我犹豫了很久,生怕一些python新手接受不了知识点。但是最近,小编接到了很多朋友的强烈要求,想学习编码这个模块的知识。小编一向有求必应,第一时间为大家整理了python字符编码相关的知识。接下来,让我们看看能不能一起学习。


编码介绍

在人类社会中,不同的国家有不同的标准语法,简体中文、繁体中文、美式英语、英式英语等等……

但是机器保存的数据是用特殊的方式保存的,读取的时候也是用同样的方式解释的。

在Python3中,默认的处理中文的方式叫做UTF-8。 【对比可见损坏:UTF-8支持中文,Python2默认格式为ASCII,不支持中文】

同一个汉字,如“中国”,用UFT-8方式转入硬盘,如保存为“110”,再用UFT-8方式读取,同样显示“中国”;方法转移到硬盘,“China”会存为“101”,再通过UTF-8读取,肯定不会显示为“China”,可能是乱码乱码“hot hot hot hot hot hot hot”热热”;


虽然上面的110、

119

、烫烫烫是乱填的,下面示例代码中有具体值,总之一个:想要显示正常,读取数据时格式,必须和保存数据时使用的一致。



闲扯几句——Python2 字符串设计上的一些缺陷:



使用

ASCII

码作为默认编码方式,对中文处理很不友好。





把字符串牵强地分为


unicode





str


两种类型,误导开发者






以上提及的两个问题,


Python3


都很好的解决了




首先,

Python3

把系统默认编码设置为


UTF-8



然后,更清楚地区分文本字符和二进制数据


str





bytes


表示。



代码示例:

import sys, locale
 
s = "小甲"
print(s)
print(type(s))
print(sys.getdefaultencoding())
print(locale.getdefaultlocale())
 
with open("utf1","w",encoding = "utf-8") as f:
    f.write(s)
with open("gbk1","w",encoding = "gbk") as f:
    f.write(s)
with open("jis1","w",encoding = "shift-jis") as f:
f.write(s)



代码很简单,学过Python的人应该都能看懂是啥意思~~


我们看一下运行结果:

小甲
<class 'str'>
utf-8
('en_US', 'UTF-8')



正如大家所想,


就是将



小甲”原样打印出来, 再把“小甲”存到3个文件中。





shift-jis

是日文编码格式)




这里解释一下打印出来的两个“utf-8”是什么意思:


上面的 utf-8 指:系统默认编码




注:


不要把系统以为是操作系统,这里可以理解成

python3

的编译器本身




下面的

utf-8

指:本地默认编码





注:


这个才是操作系统的编码。(在

Windows

运行会变成gbk)

今天分享的python3字符编码的内容到这里就结束了。虽然有实例介绍,但不知道小伙伴们能否完全看懂今天的内容呢?如果实在不会,可以私下互相学习交流。相信大家最后都能学会~

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

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