2017-07-22 39 views
1

我有一个字符串像小尾数格式我怎样才能改变各行大端格式如下内容的数组的数组:逆转串

e28f6001 
e12fff16 
220c 
4679 

我要像以下的输出:

01608fe2 
16ff2fe1 
0c22 
7946 
.. 
+1

的可能的复制[逆向Python中的字符串(https://stackoverflow.com/questions/931092/reverse-a-string-in-python) – Kallz

+1

的可能的复制[字节反向AB CD到CD AB with python](https://stackoverflow.com/questions/14543065/byte-reverse-ab-cd-to-cd-ab-with-python) – 101

回答

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'] 
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