零基础Python到全栈-编码与解码

废了那么多的章节讲字符编码,最终只需要记住一个结论就行了,关于前两个阶段的乱码问题,我们只需要加上文件头就解决了。

这个文件头指定的编码方式,就指定成你保存文件时用的编码就可以了。

a = '人'

这个变量值是直接存成了Unicode格式的对吧,前面我们提过,Unicode转成其他编码格式,这个过程我们叫编码,然后其他编码转成Unicode我们叫解码。

这个a下面有个方法叫encode。

这个方法叫编码,然后我传一个参数GBK给它。

a.encode('gbk')

这就是把Unicode转成了GBK,然后用一个变量值来接收这个返回值,再打印一下这个res。

res = a.encode('gbk')  
print(res, type(res))

我们可以在网上找到,人这个字的Unicode编码转成GBK格式,Unicode是4EBA,转成GBK就是484B。

但是它真正存到硬盘里面,是需要加上标识头的,结果应该是C8CB,我们打印出来的是一样的。

前面还有个小写的b,我们再来打印下类型看。

Unicode编码成其他格式,这个类型就叫bytes类型。

那Unicode转换成这种byets类型有什么用呢?说白了这个类型就是一串GBK格式的二进制嘛,只是我们打印出来看到的是16进制的,其实本质就是一串二进制数。

这串二进制数第一个用途就是可以写入到硬盘里去。

第二个用途就是可以研网络进行传输,比如你写的程序要和其他老的平台进行数据交互,老平台可能只识别GBK。

这时候我们python3的Unicode就不能直接传给对方了,要encode成GBK或者其他老平台支持的编码方式当然你也可以去尝试encode程UTF-8或者其他的都行。

好了,回归正题。

这个GBK我想转成Unicode就要对它进行解码了。

print(res.decode('gbk'))

解码也是按GBK来解,再打印一下。

打印出来,又变成了人这个字符了。

关于字符编码的相关知识,到这里简单的就全部介绍完毕了,接下来要学习的就是怎么用python来操作文件。

展开阅读全文

页面更新:2024-02-10

标签:正题   字符   用途   硬盘   类型   格式   方式   文件   基础   方法   平台

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top