整数はどのように4バイトにマッピングされますか?Pythonで4バイトを整数に変換する方法

ダニエル・チェ

JavaクライアントからPythonサーバーに2つの整数を送信しています。

整数はどのようにして0から255までの4つの整数にマッピングされますか?

これらの4バイトを整数に戻すにはどうすればよいですか?

Java:

Socket socket = ((host,port));
//converting intArray to byteArray

int[] intArray = {900, 1200};
ByteBuffer byteBuffer = byteBuffer.allocate(intArray.length*4);
IntBuffer intBuffer = byteBuffer.asIntBuffer();
intBuffer.put(intArray);
byte[] byteArray = byteBuffer.array();


//Sending byteArray via socket to python Server

DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
dos.write(byteArray);

Python:

#receiving byteArray from Java

imageDimension = clientsocket.recv(1024)
print(imageDimension)
list = list(imageDimension)
print(list)
output:
b'\x00\x00\x03\x84\x00\x00\x04\xb0'
[0, 0, 3, 132, 0, 0, 4, 176]

この場合、整数900が何らかの形でにマッピングされて[0,0,3,132]いるように見えます。ここで何が起こっているのですか?彼らはどのように900を4バイトに変換していますか?

Pythonで900と1200に変換[0,0,3,132]して[0,0,4,176]戻すにはどうすればよいですか?

ケビン

バイナリでは、3と132はそれぞれ0000001110000100です。バイナリの900は1110000100です。3と132のバイナリ表現を連結すると、900が得られます。

00000011
+       10000100
================
0000001110000100

struct.unpackバイトを他のタイプに変換するために使用できます

>>> import struct
>>> x = b'\x00\x00\x03\x84\x00\x00\x04\xb0'
>>> struct.unpack(">II", x)
(900, 1200)

">II" フォーマット文字列は8バイトのことを示しているbytesオブジェクトは、リトルエンディアンのバイト順序で2つの4バイトの整数として解釈されるべきです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

ビッグエンディアンの順序で2つの補数表記を使用して、マルチバイト整数値を4バイト配列に変換するにはどうすればよいですか。

4バイト配列を整数に変換するにはどうすればよいですか?

C ++で64ビット整数をビッグエンディアンバイト配列に変換するにはどうすればよいですか。

整数のリストをバイトに変換するにはどうすればよいですか?

Pythonで、0から255までの整数を単一の符号なしバイトに変換するにはどうすればよいですか?

Pythonでバイト配列をよりエレガントに整数に変換するにはどうすればよいですか?

バイトのスライス(&[u8])のバッファーを整数に変換するにはどうすればよいですか?

整数を4ビットのバイナリに変換する

fread()を整数に変換しているときに、ファイルサイズが4バイトの倍数でない場合はどうなりますか?

C#整数変数のグループをバイト配列に変換するにはどうすればよいですか?

Luaを使用してバイトのペアを符号付き16ビット整数に変換するにはどうすればよいですか?

4バイトを整数として出力するにはどうすればよいですか?

整数を char 配列に格納されている 16 進バイトに変換するにはどうすればよいですか?

バイトマーカーが添付されている場合、Pythonでバイトを整数に変換するにはどうすればよいですか?

整数の配列をバイナリに変換するにはどうすればよいですか?

整数を2バイトのバイナリに分割するにはどうすればよいですか?

バイトに変換すると、整数はどのように見えますか?

Pythonで整数をビットのリストに変換するにはどうすればよいですか

4バイトを32ビットの符号なし整数に変換します

コンパイル時に定数float値を4バイトの16進定数値に変換するにはどうすればよいですか?

2の補数形式のバイトを整数値に変換するにはどうすればよいですか?C#

Javaでは整数はどのようにバイトにキャストされますか?

整数のベクトルをバイトに変換する方法とバイトから変換する方法は?

JavaScriptで整数をバイナリに変換するにはどうすればよいですか?

C ++でビッグ/リトルエンディアンバイトを整数に、またはその逆に変換する方法

yamlをJSONに変換するYAMLファイルのエラーを修正するにはどうすればよいですか?このコンテキストでは、マッピング値は許可されていません。」

(バイナリ)整数を配列に変換するにはどうすればよいですか?

Pythonで整数を64ビットバイト表現に変換する方法

2バイトの整数を配列に追加するにはどうすればよいですか?

TOP 一覧

  1. 1

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  2. 2

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  3. 3

    Ansibleで複数行のシェルスクリプトを実行する方法

  4. 4

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  5. 5

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  6. 6

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  7. 7

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  8. 8

    Chromeウェブアプリのウェブビューの高さの問題

  9. 9

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  10. 10

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  11. 11

    Reactでclsxを使用する方法

  12. 12

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  13. 13

    MLでのデータ前処理の背後にある直感

  14. 14

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  15. 15

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  16. 16

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  17. 17

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

  18. 18

    テキストフィールドの値に基づいて UIslider を移動します

  19. 19

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  20. 20

    PowerShellの分割ファイルへのヘッダーの追加

  21. 21

    ソートされた検索、ターゲット値未満の数をカウント

ホットタグ

アーカイブ