Tôi muốn xây dựng một trình định dạng nhỏ trong python cho tôi trở lại các giá trị số được nhúng trong các dòng của chuỗi hex.sắp xếp lại thứ tự byte trong chuỗi hex (python)
Đây là phần trung tâm của trình định dạng của tôi và phải hợp lý với định dạng nhiều hơn 100 dòng/giây (mỗi dòng khoảng ~ 100 ký tự).
Mã bên dưới sẽ đưa ra ví dụ nơi tôi hiện bị chặn.
'data_string_in_orig' hiển thị định dạng nhập đã cho. Nó phải là byte hoán đổi cho mỗi từ. Hoán đổi từ 'data_string_in_orig' thành 'data_string_in_swapped' là cần thiết. Cuối cùng tôi cần cấu trúc truy cập như được hiển thị. Kết quả mong đợi nằm trong nhận xét.
Cảm ơn trước Wolfgang R
#!/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'. Ngọt. Đoán tôi sẽ tiếp tục và không đăng bài giải nén nhỏ gọn về giải pháp cuối cùng/giải pháp nhỏ gọn của kludgy mà tôi đã nấu ... – Triptych
Hãy tiếp tục và đăng nó! Có nhiều cách để giải quyết vấn đề có thể hữu ích. – unutbu
Cảm ơn, điều này rất nhanh và hoàn hảo đối với tôi. Bằng cách này 100k dòng trong 5 giây. –