int.to_bytes дает буквы, отличные от a до f, в шестнадцатеричной форме? - PullRequest
0 голосов
/ 11 июля 2019

Мне нужно преобразовать большое целое число в байты для связи с arduino.

для примера, который я пытался преобразовать следующие целые числа.

150001, 150891

>>> int.to_bytes(150001,3,'big')
b'\x02I\xf1'
>>> int.to_bytes(150891,3,'big')
b'\x02Mk'

I, M и k не являются цифрами шестнадцатеричной системы счисления.Я не могу понять, почему они здесь.

Но я попытался найти значения этих частей с помощью функции int.from_bytes.

>>> int.from_bytes(b'\x00I','big')
73
>>> int.from_bytes(b'\x00Mk','big')
19819

Они также имеют значения.тогда что означают эти буквы и для чего они используются?

...