\

Pythonでは、intからbytesへの変換や、bytesからintへの変換を行うことができます。これらの変換は、エンディアン(ビッグエンディアンまたはリトルエンディアン)を指定することが可能です。

intからbytesへの変換

n = 0b1111000111110010 # 2バイトでビッグエンディアン
n.to_bytes(2, 'big') # b'\\xf1\\xf2'
n.to_bytes(2, 'little') # b'\\xf2\\xf1'

bytesからintへの変換

int.from_bytes(b'\\xf1\\xf2', 'big') # 61938
int.from_bytes(b'\\xf2\\xf1', 'little') # 61938

また、structモジュールを使用してエンディアンを指定することも可能です。

import struct
n = 0b1111000111110010
struct.pack(">H", n) # b'\\xf1\\xf2'
struct.pack("<l", n) # b'\\xf2\\xf1\\x00\\x00'

これらの方法を使用することで、Pythonでエンディアンを考慮したバイトと整数の変換を行うことができます。これらの知識は、バイナリデータの操作や通信プロトコルの実装など、さまざまな場面で役立つでしょう。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です