r"""Decode a long from a two's complement little-endian binary string. >>> decode_long(b'') 0 >>> decode_long(b"\xff\x00") 255 >>> decode_long(b"\xff\x7f") 32767 >>> decode_long(b"\x00\xff") -256 >>> decode_long(b"\x00\x80") -32768 >>> decode_long(b"\x80"
(data)
| 384 | return result |
| 385 | |
| 386 | def decode_long(data): |
| 387 | r"""Decode a long from a two's complement little-endian binary string. |
| 388 | |
| 389 | >>> decode_long(b'') |
| 390 | 0 |
| 391 | >>> decode_long(b"\xff\x00") |
| 392 | 255 |
| 393 | >>> decode_long(b"\xff\x7f") |
| 394 | 32767 |
| 395 | >>> decode_long(b"\x00\xff") |
| 396 | -256 |
| 397 | >>> decode_long(b"\x00\x80") |
| 398 | -32768 |
| 399 | >>> decode_long(b"\x80") |
| 400 | -128 |
| 401 | >>> decode_long(b"\x7f") |
| 402 | 127 |
| 403 | """ |
| 404 | return int.from_bytes(data, byteorder='little', signed=True) |
| 405 | |
| 406 | def _T(obj): |
| 407 | cls = type(obj) |
no test coverage detected