我有一个像小端格式的字符串数组,如何将每一行更改为大端格式:
e28f6001
e12fff16
220c
4679
我想要一个如下输出:
01608fe2
16ff2fe1
0c22
7946
..
答案 0 :(得分:0)
您可以使用小型正则表达式(..
)来反转十六进制字节:
>>> import re
>>> ''.join(re.findall('..', 'e28f6001')[::-1])
'01608fe2'
您可以使用函数和列表推导将此转换应用于列表:
import re
def swap_endian(hexa_string):
return ''.join(re.findall('..', hexa_string)[::-1])
strings = ['e28f6001', 'e12fff16', '220c', '4679']
print([swap_endian(hexa) for hexa in strings])
# ['01608fe2', '16ff2fe1', '0c22', '7946']
答案 1 :(得分:0)
以下是解决方案的简单方法。
a=raw_input()
str1=""
for i in range(len(a)-1, -1, -2):
if i-1==-1:
str1 += str(a[i])
break
str1+=str(a[i-1])
str1+=str(a[i])
print str1