import binascii
import sys
"""
python3:
python3默认编码为unicode,由str类型进行表示。二进制数据使用byte类型表示
字符串通过编码转换成字节码,字节码通过解码成为字符串
encode:str –> bytes
decode:bytes – > str
转:https://www.jianshu.com/p/c6a3a0167ff9
"""
print("print1:", sys.getdefaultencoding())
name = "中国"
name = name.encode("utf-8")
print(name)
print("print2:", type(name), name)
name = name.decode("utf-8")
name = name.encode("gbk")
print("print4:", type(name), name)
a = ‘worker‘.encode()
#先把worker转换成二进制数据然后在用十六进制表示
b = binascii.b2a_hex(a) # w对应ascII是0x77;o对应ascII是0x6f...以此类摧
print(b)
#与b2a_hex相反
print(binascii.a2b_hex(b))
#这个功能和b2a_hex()一样
c = binascii.hexlify(a)
print(c)
#这个功能和a2b_hex()一样
print(binascii.unhexlify(c))
编码与解码:相当于计算机存储数据【二进制 十六进制】与实际屏幕显示的相互转译;
通用编码: uft-8 utf-16
中文:gbk gb2132
注:
** 编码与解码与系统无关,是通用的规则;
** 数据传输过程中不同语言和框架可以对数据进行拆解与整合,类似加密,而非编码方式导致数据不可解读
原文:https://www.cnblogs.com/banyanisdora/p/15246521.html