используйте int()
для преобразования строки в целое число. Python не имеет различных целых чисел фиксированной ширины, поэтому вы просто получите один тип вещей.
Затем используйте struct
, чтобы упаковать целое число в фиксированную ширину:
res = struct.pack("=B",i) ## uint8_t
res = struct.pack("=b",i) ## int8_t
res = struct.pack("=H",i) ## uint16_t
res = struct.pack("=h",i) ## int16_t
res = struct.pack("=I",i) ## uint32_t
res = struct.pack("=i",i) ## int32_t
res = struct.pack("=Q",i) ## uint64_t
res = struct.pack("=q",i) ## int64_t
res = struct.pack("=f",i) ## float
res = struct.pack("=d",i) ## double
struct
создает байтовую строку, содержащую число в двоичном виде.
EDIT:
Из комментариев звучит так, будто вы просто хотите преобразовать строку (десятичных цифр) в целое число. Просто используйте int()
для этого, однако вы не получите всю сложную семантику переполнения / недостаточного заполнения указанных типов. Вы не можете воспроизвести это в Python, по крайней мере, без написания большого количества кода.
Я думаю, что если вам нужна дополнительная помощь, вам нужно быть более точным в том, чего вы хотите достичь.