1

Pythonで単純なファイルのシークと読み取りを実装しました。

>>>f = open("<filepath>", "rb")
>>>f.seek(0x20) #offset 0x20
>>>byte=f.read(4) #4 byte space

私はで終わった

>>>byte
'\xe0\x00\x00\x00'

これは期待される結果ですが、それ以上の計算ではエスケープなしで 16 進値として使用する必要があります。

このような文字列をエスケープされていない 16 進値に変換するにはどうすればよいですか? (上記の例では、'\xe0\x00\x00\x00' は 'e0000000' または '0xe0000000' に変換されます。)

4

3 に答える 3

1

使用encode('hex'):

>>> byte.encode('hex')
'e0000000'

# convert it to int
>>> int(byte.encode('hex'), 16)
3758096384
于 2012-11-09T11:21:43.763 に答える
0

byte.encode('hex')を使用して16進値を取得できます。

于 2012-11-09T11:18:05.953 に答える