2
Python 3で1バイトの変数を宣言するにはどうすればよいですか?私はCで表され、以下の結果を達成したいと思います:Python 3で1バイト変数を宣言する
unsigned char = 0xFF;
Pythonで8ビット変数を宣言することが可能であるかどうかを知りたいです。あなたの答え
Python 3で1バイトの変数を宣言するにはどうすればよいですか?私はCで表され、以下の結果を達成したいと思います:Python 3で1バイト変数を宣言する
unsigned char = 0xFF;
Pythonで8ビット変数を宣言することが可能であるかどうかを知りたいです。あなたの答え
Pythonは文字と文字列の間でCが行う方法を区別しません。また、約int
ビット幅を気にしないため
感謝。シングルバイトのために、あなたは基本的に3つの選択肢があります。
bytes
(またはbytearray
)オブジェクトmychar = b'\xff'
(またはmychar = bytearray(b'\xff')
)range(256)
外の値を割り当てる(またはにマスキングを使用していないint
トリムオーバーフロー):mychar = 0xff
mychar = ctypes.c_ubyte(0xff)
最後のオプションは、主にを通じてCの関数に対応するため、それはPython的ではない/それ以外の場合は遅いですです。オプション1と2の選択は、使用しているものによって異なります。異なるユースケースでは異なるアプローチが必要です(ただし、両方のフォームを使用する必要がある場合は、bytes
オブジェクトのインデックス作成/反復でint
という値が得られます)。
私はあなたがPythonのドキュメントを読んだので、答えを知っていると思います。組み込み型やユーザ定義型では不可能なPythonの「8ビット変数」を使って実現したいことは何ですか? – mustaccio
@mustaccio私はそれを(部分的に)読んだ。ソケットを通してバイトを送信したいだけです。 – Papipone
ソケットを介してバイトを送信しようとすると、どのような問題が発生しましたか? – pvg