Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def reverse(input):
- L = len(input)
- if L%2 <> 0:
- return 'Error' #Ошибка в случае когда L не кратно 2
- else:
- Res = ''
- L = L//2
- for i in range(L):
- T = input[i*2] + input[i*2+1]
- Res = T + Res
- T = ''
- return(Res);
- ArrLength = len(Arr)
- for i in range(ArrLength):
- Arr[i] = reverse(Arr[i])
- lo = value % 256
- hi = value // 256
- value == hi * 256 + lo # всегда должно быть верно
- rev_value = lo * 256 + hi # то, что хотим по условию, поменяли байты
- rev_bytes = lambda v: v % 256 * 256 + v // 256
- rev_bytes = lambda v: ((v % 256) << 8) | (v >> 8)
- from struct import pack, unpack
- def reorder_bytes( value ):
- return unpack( "H", pack( "H", value )[::-1] )[0]
- # модуль struct (python3) используется для конвертации С структур в python объекты
- # H --- unsigned int16
- # pack с "H" сконвертирует python int в бинарную строку длиной в 2 байта, соответствующую Си представление unsigned int16
- # unpack возвращает tuple из распакованных данных
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement