Мне нужно преобразовать строки Unicode в Python в другие типы, такие как беззнаковые и подписанные int 8 бит, беззнаковые и подписанные int 16 бит, беззнаковые и подписанные int 32 бита, беззнаковые и подписанные int 64 бит, double, float, string, unsigned и signed 8-битный, беззнаковый и подписанный 16-битный, беззнаковый и подписанный 32-битный, беззнаковый и подписанный 64-битный.
Мне нужна помощь от вас.






используйте 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 создает байтовую строку, содержащую число в двоичном формате.
Обновлено:
Из комментариев похоже, что вы просто хотите преобразовать строку (десятичных цифр) в целое число. Просто используйте для этого int(), однако вы не получите всей сложной семантики переполнения / потери значимости указанных типов. Вы не можете воспроизвести это на Python, по крайней мере, без написания большого количества кода.
Я думаю, что если вам нужна дополнительная помощь, вам нужно уточнить, чего вы хотите достичь.
но тип res - строка. Так что я не могу с ним делать никаких операций. Я конвертирую здесь для выполнения таких арифметических операций. Это невозможно.
@ Дуглас: Я восхищаюсь твоими экстрасенсорными способностями (или твоей удачей :). Я до сих пор не вижу прямой связи с вопросом - как указано - «использовать int () для преобразования строки в целое число»… Я бы предложил только модуль структуры.