编码解码
Posted zx125
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编码解码相关的知识,希望对你有一定的参考价值。
编码解码
计算机内存
计算机内存的编码是Unicode
编码方式表示的。但是数据要是想要保存到硬盘或者进行网络传输,就会使用utf-8或者gbk,在中国的的话,系统默认是gbk编码,那为啥不直接用Unicode进行传输呢?
虽然Unicode可以容纳最多的字符种类但是它所占用的空间也非常大,所以在持久化存储或者网络传输的情况下,会选择其他编码。
计算机的编码/解码
编码解码其实就是Unicode和其他编码之间的转化
编码:Unicode----其他
解码:其他----Unicode
我们在电脑上看到所有字符’abc‘啥的其实就是内存中的Unicode格式的数据。
当我们保存的时候,才会进行编码,但我们打开文件会进行解码
乱码
什么情况会出现乱码呢?
当我们输入“中国”,这个“中国”就会在内存中以Unicode的形式存在,当我们以acsii的格式进行编码,ascii无法识别Unicode的一些中文字符,所以会乱码或者报错
编程语言的编码解码--python
编码:字符串--比特流
解码:比特流--字符
先来说一下下面的过程
python中字符串默认就是Unicode格式的
str--->(encode)--->bytes,bytes--->(decode)--->str
1.将字符串对应gbk形式转化为二进制形式\x是16进制
2.将二进制对应GB2312转化成字符串
zx="阿SDK"
print(zx)
zx=zx.encode("gbk")
print(zx)
zx=zx.decode("GB2312")
print(zx)
阿SDK
b'\xb0\xa2SDK'
阿SDK
以上是关于编码解码的主要内容,如果未能解决你的问题,请参考以下文章