python3 实现十六进制字符串文本文件生成二进制文件

本文介绍了如何使用Python3将包含十六进制字符串的文本文件转换为二进制bin文件,以减少存储空间并提高读取效率。通过将十六进制数据写入二进制文件,可以避免字符解析过程,尤其在处理大量数据时能提升效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    场景需求:十六进制字符串需要转成二进制bin文件保存下来,例如:hello.txt文件中的内容为“012A134B5F9C”,hello.txt文件中存在六个十六进制的数据,但是我们知道在某些时候文本文件难以满足实际的项目需求,因此需要转成二进制的文件,这样做的好处在于可以减小一倍的存储空间,而且对于一般的应用而言还能直接以字节流的方式读取,以c语言为例:

FILE *fd = NULL;
unsigned char buf[1024]
fd = fopen("hello.bin", "rb");
if (fd){
 fread(buf, sizeof(unsigned char), 6, fd);
 fclose(fd);
 fd = NULL;
}

    上面的代码可以直接读取六个字节,显然但数据量比较大的时候采用读取二进制文件的方式效率会更高,因为省去了做字符的解析的过程。那么采用python3如何实现上面的需要呢?直接上代码:

    

import string
import os

target_f = open("bin_setting.txt", "r") #打开bin_setting.txt文件,里面配置的是文本文件的路径
line = target_f.readline()
line.strip('\n')
line.replace(' ', '')
target_f.close()
if os.path.exists(line): #如果路径存在,则做下面的工作
    str_f = open(line, 'r')
    c = str_f.readline()
    str_f.close()
    c.strip('\n')
    c.replace(' ', '')
    len_s = int(len(c)/2) #计算字节的个数
    list_nums = [] #定义一个空的list
    i = 0
    f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值