Python语言把二进制转成十六进制

0 Preface/Foreword

0.1 10进制转其他进制

  • bin()
  • oct()
  • hex()

0.2 其他进制转10进制

  • int(, 2)
  • int(, 8)
  • int(, 16)

1 转换方法

1.1 方法1

先将二进制转成10进制,再将10进制转成16进制

decim = int('00000101', 2)

hexadecim = hex(decim)

print hexadecim

1.2 方法2

import binascii

binary_data = b"\x01\02\03\04\05"

hex_data = binascii.hexlify(binary_data)

hex_data_ascii = binascii.hexlify(binary_data).decode("utf-8")

print hex_data

print hex_data_ascii

解析:

  • binary_data:二进制数据
  • binascii.hexlify:转成成16进制
  • hexlify:返回字节类型
  • decode:字符串类型

1.3 2.x和3.x的差异性

++源码++:

python 复制代码
#! /usr/bin/python
#coding:utf-8
import binascii

bin_file="test.bin"
file_mode = "rb"



if __name__ == "__main__":
    print("This is main module ..")
    fd = open(bin_file, file_mode)
    binary_data = fd.read()
    
    print("0x%02x"%binary_data[0])

    print (binary_data[0])
    print (type(binary_data[0]))

++2.x运行结果++:

++3.x运行结果++:

相关推荐
生产队队长8 分钟前
JVM(HotSpot):程序计数器(Program Counter Register)
开发语言·jvm·python
程序员的战歌11 分钟前
django drf to_representation
python·django
AI视觉网奇37 分钟前
两个多边形 贴图
python·opencv·贴图
lizi8888837 分钟前
机器学习实战:使用Python和scikit-learn构建预测模型
python·机器学习·scikit-learn
豆包MarsCode41 分钟前
使用豆包MarsCode 实现高可用扫描工具
大数据·人工智能·python·云原生·容器
JUNAI_Strive_ving1 小时前
易盾滑块验证码
javascript·python
啧不应该啊1 小时前
Python爬虫bs4基本使用
爬虫·python·selenium
Chuyaaaaaaa1 小时前
python 加入语音功能的RW8模拟登录过程
开发语言·python·microsoft
API199701081102 小时前
深度探索与实战编码:利用Python与AWS签名机制高效接入亚马逊Product Advertising API获取商品详情
数据库·python·aws
爱里承欢。3 小时前
【Python语言初识(五)】
开发语言·python