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运行结果++:

相关推荐
爱学习的阿磊几秒前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
智航GIS6 分钟前
ArcGIS Python零基础脚本开发教程---1.1 Describe 函数
开发语言·python·arcgis
Dreaming_of_you9 分钟前
pytorch/cv2/pil/torchvision处理图像缩小的最佳方案
人工智能·pytorch·python·opencv
Testopia41 分钟前
走一遍 AI 学习之路 —— AI实例系列说明
开发语言·人工智能·python
机 _ 长43 分钟前
YOLO26 改进 | 训练策略 | 知识蒸馏 (Response + Feature + Relation)
python·深度学习·yolo·目标检测·机器学习·计算机视觉
草青工作室1 小时前
java-FreeMarker3.4自定义异常处理
java·前端·python
hrrrrb1 小时前
【算法设计与分析】随机化算法
人工智能·python·算法
D___H1 小时前
Part10_编写自己的解释器
python
Zero_to_zero12341 小时前
Claude code系列(一):claude安装、入门及基础操作指令
人工智能·python