16进制字符串转化为bytes数组

代码:

# -*- coding: utf-8 -*-
from binascii import a2b_hex

def hex2bin_1(s):
    ss = []
    # 按照2个一组转化为str数组
    ss = [s[i:i+2] for i in range(0, len(s), 2)]
    return bytes(bytearray(int(x, 16) for x in ss))


def hex2bin_2(s):
    return bytes(bytearray.fromhex(s))


def hex2bin_3(s):
    return a2b_hex(s)


if __name__ == '__main__':
    s = '1ab2'
    print(hex2bin_1(s))
    print(hex2bin_2(s))
    print(hex2bin_3(s))

其中第一个和第二个基本是一样的, 所有三个大同小异

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容