Python二进制到多十六进制

时间:2016-09-24 08:58:36

标签: python format hex bin ord

我正在尝试读取二进制文件并返回例如" ffffff"一系列6个十六进制代码。这有意义吗?我的代码(下面)只返回一个2的列表,所以它看起来像" ff"

fp = open(f, 'rb')
hex_list = ("{:02x}".format(ord(c)) for c in fp.read())

我特意想让这个返回类似

['ab0012', 'ffbaf0']

不喜欢

['ab', '00', '12', 'ff', 'ba', 'f0']

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

这个怎么样:

fp = open(f, 'rb')
hex_list = ["{:02x}".format(ord(c)) for c in fp.read()]
return [''.join(hex_list[n:n+3]) for n in range(0, len(hex_list), 3)]