我想在python中建立一個小格式化程序,讓我回到嵌入在十六進制字符串行中的數值 值。以十六進制字符串重新排序字節順序(python)
它是我的格式化程序的中心部分,應該合理快速到 格式超過100行/秒(每行約100個字符)。
下面的代碼應該舉例說明我目前被阻止的示例。
'data_string_in_orig'顯示給定的輸入格式。必須爲每個單詞交換 字節。需要從'data_string_in_orig'交換到 'data_string_in_swapped'。最後我需要如圖所示的結構 訪問。預期的結果在評論中。
預先感謝 沃爾夫岡ř
#!/usr/bin/python
import binascii
import struct
## 'uint32 double'
data_string_in_orig = 'b62e000052e366667a66408d'
data_string_in_swapped = '2eb60000e3526666667a8d40'
print data_string_in_orig
packed_data = binascii.unhexlify(data_string_in_swapped)
s = struct.Struct('<Id')
unpacked_data = s.unpack_from(packed_data, 0)
print 'Unpacked Values:', unpacked_data
## Unpacked Values: (46638, 943.29999999943209)
exit(0)
'array.byteswap'。甜。猜猜我會繼續前進,而不是發佈kludgy解壓我已經做飯的大端/重新包裝的小端解決方案... – Triptych
繼續前進併發布!有多種解決問題的方法可能會有用。 – unutbu
謝謝,這對我來說是快速和完美的。順便說一下,在5秒內100k線。 –