QUERY · ISSUE
int.to_bytes and int.from_bytes: signed parameter not implemented
bugpy-core
Port, board and/or hardware
esp32-WROOM
MicroPython version
MicroPython v1.23.0 on 2024-06-02; Generic ESP32 module with ESP32
Reproduction
in micropython
int.from_bytes(b'\xFF\xFF' , 'big' , True) ---> 65535
in Python 3.11.4
int.from_bytes(b'\xFF\xFF' , byteorder='big' , signed=True) ---> -1
Expected behaviour
Expected to return -1
according to https://docs.python.org/3/library/stdtypes.html#int.from_bytes
Observed behaviour
returns 65535 which is equivalent to signed=False
Additional Information
No, I've provided everything above.
Code of Conduct
Yes, I agree
CANDIDATE · ISSUE
int.to_bytes and int.from_bytes implementations incomplete
These methods have the following comments in them:
// TODO: Support long ints
// TODO: Support byteorder param
// TODO: Support signed param
I encountered this when trying to convert an int to big-endian bytes, but to_bytes returned little-endian bytes instead. from_bytes also apparently only supports little-endian bytes.