码迷,mamicode.com
首页 > 其他好文 > 详细

编码解码

时间:2019-09-07 00:45:12      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:code   strong   中文字符   过程   使用   方式   二进制   网络   encode   

编码解码

计算机内存

计算机内存的编码是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

编码解码

标签:code   strong   中文字符   过程   使用   方式   二进制   网络   encode   

原文地址:https://www.cnblogs.com/zx125/p/11478794.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!