【发布时间】:2019-01-13 15:52:00
【问题描述】:
所以我的输入是 hex 和 ascii 数据的混合。例如input=|3E 00|redcar|0D|. 这里管道内的数据(| |)是十六进制的。我想将不在管道中的所有内容转换为十六进制,以便获得完全十六进制的输出。
如果输入是|3E 00|redcar|0D|,我想要output= 3E007265646361720D。这是我到目前为止所做的:
import re
inputt = |3E 00|redcar|0D|
hexx = re.findall('\|(.*?)\|', inputt)
output= ' '.join(hexx).replace(" ", "")
print output #3E000D
如何访问不在管道中的部分,将其转换为十六进制(简单部分),然后将所有内容按正确顺序放回原处?谢谢
编辑:
我应该补充一点,十六进制在输入的 ascii 之前和之后并不是必须的。也可以是input=redcar|0D| 或input=|3E 00|redcar。所以解决方案需要通用。
【问题讨论】: