int()
文字列を整数に変換するために使用します。Python にはさまざまな固定幅整数がないため、1 つのタイプのものだけを取得できます。
次に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
数値をバイナリで含むバイト文字列を生成します。
編集: コメントから、(10 進数の) 文字列を整数に変換したいだけのように聞こえます。そのために使用するだけint()
ですが、指定された型の複雑なオーバーフロー/アンダーフロー セマンティクスをすべて取得することはできません。少なくとも大量のコードを書かない限り、Python でそれを再現することはできません。
さらに助けが必要な場合は、達成したいことについてより正確にする必要があると思います.