Python进制转换与二进制文件处理实战

山间有风
山间有风
发布时间:2026-10-13| 3人浏览过
原创

本文详解Python中实现不同进制数转换的内置函数与模块。重点介绍binascii模块处理二进制文件转十六进制的用法,以及bin、oct、hex、int等内置函数在进制间转换的应用。同时提供读取图片二进制内容的完整示例代码,帮助开发者掌握底层数据处理技巧。

Python进制转换概述

本文主要介绍如何利用Python内置模块与函数实现不同进制数值之间的转换。此外,Python在读取纯二进制文件内容方面也提供了便捷支持,适合需要处理底层数据格式的开发者参考。

binascii模块应用

首先介绍binascii模块的功能。

该模块包含将二进制数值转换为十六进制字符串的函数,同时也支持反向转换。需要注意的是,输入参数binary_value应为二进制数值对象,而非字符串或整型数值1010。


binascii.b2a_hex(binary_value) ##binary_value 一般读二进制文件可以得到 
 
>>'89' <type str> 

内置进制转换函数

Python自带的内置函数可用于进制转换: bin(num) 函数用于将十进制数值转换为二进制字符串。


bin(10) 
 
>> '0b1010' <type, str> 

oct(num) 函数用于将十进制数值转换为八进制字符串。


oct(10) 
 
>>'012' <type, str> 

hex(num) 函数用于将十进制数值转换为十六进制字符串。


hex(20) 
 
>>'0x14' <type, str> 

int(str, base) 函数用于将其他进制的字符串转换为十进制数值。其中base参数指定str所属的进制,例如base为2时表示str是二进制字符串。若未指定base,默认按十进制处理。


int('20') 
>>20 <type, int> 
int('10', 2) 
>>2 <type, int> 
int('10', 8) 
>>8 <type, int> 
int('20', 10) 
>>20 <type, int> 
int('20',16) 
>>32 <type, int> 

字符与数字互转

字符与数字互转的相关函数如下: chr(int) 用于将整型数值转换为对应的字符。


chr(65) 
 
>>'A', <type, str> 

ord(chr) 用于将字符转换为对应的整型数值。


ord('a') 
 
>>97, <type, int> 

二进制文件读取示例

最后,提供一个读取图片文件二进制内容的完整示例代码。


#!/usr/bin/env python 
#encoding: utf-8 
import binascii 
 
fh = open(r'C:\Temp\img\2012517165556.png', 'rb') 
a = fh.read() 
#print 'raw: ',`a`,type(a) 
hexstr = binascii.b2a_hex(a) #得到一个16进制的数 
#print 'hex: ',hexstr, type(hexstr) 
bsstr = bin(int(hexstr,16))[2:] 
print 'bin: ',bsstr, type(bsstr)

运行上述代码可产生1010刷屏的视觉效果,具有一定的黑客帝国风格。

至此,关于使用Python内置模块与函数进行不同进制数转换的介绍已完成。如需了解更多Python进制转换相关内容,建议搜索本站历史文章或继续阅读后续系列教程,感谢支持。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。