nバイトをバイナリファイルとして読み込み、各バイトをリストに格納します。しかし、そうすると、各バイトはint
にキャストされます。バイトがリストコンストラクタによってint型にキャストされる
まずランダムファイルを作成します。
$ head -c 16 > random.file
その後、私はそれを読み取ろう:
>>> with open('random.file', 'rb') as fp:
... l = list(fp.read(8))
... print(fp.read(8))
...
b'@\xc2\xdf\x9f\xbbv\xa1\x90'
>>> l
[79, 233, 19, 116, 252, 50, 248, 144]
>>> type(l[0])
<class 'int'>
だから私は予想されませんので、Pythonは自動的にキャストされているという事実が問題を引き起こしているが、私のバイトの値が255
の上に行くことができないということを理解しますタイプ。
これは正常ですか?どうすればこれを避けることができますか?
私はPythonが何かを変換しているとは思わない。インタプリタは単にバイト配列の小数値を表示しています –
シングルバイトの 'bytes'オブジェクトのリストのポイントは何でしょうか?本当にそれが必要ですか?まれなユースケースなので、サポートされない可能性があります。 –
期待される出力はどれくらいですか? –