python总结-数据编码和解码

一、二进制

bit位/比特:存放一位二进制数,即0或1,最小的储存单位。
byte字节(B):最常用的单位,1B=8bit。
1KB(千字节)=1024b
1MB(兆字节)=1024KB
1GB(吉字节,千兆)=1024MB
8进制是用0,1,2,3,4,5,6,7
16进制是用0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f来表示。

二、编码表

Unicode(万国码)
数据在内存中处理时,使用此格式,每个符号都有一个独一无二的编码。

UTF-8
UTF-8(8-bit Unicode Transformation Format)。它是一种针对Unicode的可变长度字符编码,它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度,而当字符在ASCII码范围时,就用一个字节表示,所以UTF-8可兼容ASCII编码。

数据在硬盘上存储,或者是在网络上传输时,用的是UTF-8。
Unicode是内存编码的规范,而UTF-8是如何保存和传输Unicode的手段。

ASCII码
适用于英文大小写,字符,不支持中文。

三、编码和解码

编码(encode())
语法:'想编码的内容'.encode('使用的编码表')

把str(字符串)类型(使用unicode编码,一个字符占两个字节)的数据,转换成bytes(字节)类型(占一个字节)的数据。
所以编码结果以b开头。\x是分隔符,用来分隔一个字节和另一个字节。

解码(decode())
语法:'想解码的内容'.decode('使用的编码表')

注意,用对应编码表解码!

print('韩之刚'.encode('utf-8'))
print('韩之刚'.encode('gbk'))
print(b'\xe9\x9f\xa9\xe4\xb9\x8b\xe5\x88\x9a'.decode('utf-8'))
print(b'\xba\xab\xd6\xae\xb8\xd5'.decode('gbk'))
image.png

你可能感兴趣的:(python总结-数据编码和解码)