python二进制操作汇总
数据编码之间的转化
设计到的格式
- 十六进制字符串 "9A 00 1B CB 34 00 C7 00 00 30 10 00"
- 十进制字符串 "154 0 27 203 52 0"
- 大端模式
- 十六进制转字符串
转化方法
# 十进制(数字) -> 十六进制(字符串)
hex(128) == '0x80' # True
hex(128) == '80' # False
hex(128) == 0x80 # False
hex(128) == 80 # False
hex(5) == '0x5' # True 注意这里未补齐0
# 十六进制(字符串) -> 十进制(数字)
# int() 将其他类型转化成十进制的数字, 第二个参数是源数据的进制类型
int('80',16) == 128 # True
int('0x80', 16) == 128 # True
# 十六进制(字符串) -> utf8字符串
hex_str = 'ac0254d4'
# 十进制(数字) -> 二进制(字符串)
bin(10) == '0b1010' # True
其他包处理
base64包
此模块提供了将二进制数据编码为可打印的 ASCII 字符以及将这种编码格式解码回二进制数据的函数
在python3中, base64.b64encode()操作的对象是直接数组
binascii包
>>> import binascii
>>> binascii.b2a_hex("你好啊".encode("gbk"))
b'c4e3bac3b0a1'
>>> binascii.a2b_hex("c4e3bac3b0a1").decode("gbk")
'你好啊'
最后更新于 2023-02-16 15:30:36 并被添加「」标签,已有 495 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭