PythonでUnicode文字列の変換
質問
Iは、符号なしのような他の種類のPythonでUnicode文字列を変換する必要があり、INT 8ビット符号なし署名し、int型の16ビット符号付き、符号なしとint型32ビット符号付き、符号なしとint型64ビット、ダブル、フロート、文字列に署名し、符号なしと、8ビットの符号付き、符号なし16ビットの符号付き、符号なし32ビットの符号付き、符号なしの64ビットを締結します。
私はuの人からの助けを必要とします。
解決
int()
の整数に文字列を変換するために使用します。あなただけのものの1種類を取得しますので、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でそれを再現することはできません。
私はあなたが任意のより多くの助けをしたい場合は、あなたが達成したいかについて、より正確でなければならないと思います。
所属していません StackOverflow