python3 编码与解码

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

 

注:

** 编码与解码与系统无关,是通用的规则;

** 数据传输过程中不同语言和框架可以对数据进行拆解与整合,类似加密,而非编码方式导致数据不可解读

 

上一篇:第1章-3 输出“Python语言简单易学” (10 分)


下一篇:冰蝎2流量分析,解密以及其防守姿势