python读取字符串中间的16进制数字?

python读取字符串中间的16进制数字?,第1张

这个转了十进制又转了十六进制,都是string,而不是数值

print出来,是以string 输出的。

分享一个我以前的

#比如hex.log 里面是E3F2A1

#就要往文件out.bin里写 0xE3 0xF2 0xA1

import string

HEX_file_name = "hex.log"

BIN_file_name = "out.bin"

input_file = open(HEX_file_name,'r')

output_file = open(BIN_file_name,'wb')

for lines in input_file.readlines():

lines = lines.replace(' ','').replace('\n','').upper()

for i in range(0, len(lines), 2):

chars = lines[i:i+2]

output_file.write(chr(int(chars, 16)))

input_file.close()

output_file.close()

核心就是

for i in range(0, len(lines), 2):

chars = lines[i:i+2]

output_file.write(chr(int(chars, 16)))

看懂了就懂了

out.bin可以用ultraedit或者notepad++十六进制查看

你可以直接用open('test.bmp','rb') open函数打开,这样得到的是二进制数据,然后你根据图片格式的相应说明对二进制数据进行相应的转换即可,或者使用图像处理库来做也是很方便的,比如opencv等等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11572906.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存