1print((10).to_bytes(1, "little"))
2print((111111).to_bytes(4, "little"))
3print((100).to_bytes(10, "little"))
4print(int.from_bytes(b"\x00\x01\0\0\0\0\0\0", "little"))
5print(int.from_bytes(b"\x01\0\0\0\0\0\0\0", "little"))
6print(int.from_bytes(b"\x00\x01\0\0\0\0\0\0", "little"))
7
8# check that extra zero bytes don't change the internal int value
9print(int.from_bytes(bytes(20), "little") == 0)
10print(int.from_bytes(b"\x01" + bytes(20), "little") == 1)
11
12# big-endian conversion
13print((10).to_bytes(1, "big"))
14print((100).to_bytes(10, "big"))
15print(int.from_bytes(b"\0\0\0\0\0\0\0\0\0\x01", "big"))
16print(int.from_bytes(b"\x01\0", "big"))
17
18# negative number of bytes should raise an error
19try:
20    (1).to_bytes(-1, "little")
21except ValueError:
22    print("ValueError")
23