logo

Python で Int をバイトに変換するには?

int オブジェクトを使用すると、同じ値をバイト形式で表すことができます。整数はバイトを表し、配列として格納され、その最上位桁 (MSB) が配列の先頭または末尾に格納されます。

方法 1: int.tobytes()



int 値は、次のメソッドを使用してバイトに変換できます。 int.to_bytes()。 このメソッドは int 値で呼び出されますが、実行には Python 2 ではサポートされていません (最低 Python3 が必要です)。

Java 配列の len

構文: int.to_bytes(長さ, バイトオーダー)

引数 :



length – バイト単位の配列の希望の長さ。

byteorder – int からバイトへの変換を実行する配列の順序。 byorder には次のいずれかの値を指定できます。 少し 最上位ビットが最後に格納され、最小ビットが先頭に格納される場合、または 大きい ここで、MSB は開始時に格納され、LSB は最後に格納されます。

例外:



整数値の長さが配列の長さに収まるほど大きくない場合、OverflowError が返されます。

次のプログラムは、Python でのこのメソッドの使用法を示しています。

Python3




# declaring an integer value> integer_val>=> 5> > # converting int to bytes with length> # of the array as 2 and byter order as big> bytes_val>=> integer_val.to_bytes(>2>,>'big'>)> > # printing integer in byte representation> print>(bytes_val)>

>

>

出力

b'x00x05'>

Python3

でこぼこしたドット




# declaring an integer value> integer_val>=> 10> > # converting int to bytes with length> # of the array as 5 and byter order as> # little> bytes_val>=> integer_val.to_bytes(>5>,>'little'>)> > # printing integer in byte representation> print>(bytes_val)>

>

>

出力

すべて大文字のコマンド Excel
b'
x00x00x00x00'>

方法 2: 整数から文字列へ、文字列からバイトへの変換

このアプローチは、Python バージョン 2 と 3 の両方で互換性があります。このメソッドは、配列の長さとバイトオーダーを引数として取りません。

  • 10 進形式で表される整数値は、対応する文字列に変換される整数値を引数として受け取る str() 関数を使用して、まず文字列に変換できます。
  • 次に、この文字列相当物は、各文字に必要な表現を選択することによって、つまり文字列値をエンコードすることによって、バイトのシーケンスに変換されます。これは str.encode() メソッドによって行われます。

Python3




ダブルJavaとは何ですか

# declaring an integer value> int_val>=> 5> > # converting to string> str_val>=> str>(int_val)> > # converting string to bytes> byte_val>=> str_val.encode()> print>(byte_val)>

>

>

出力

b'5'>