1

私はいくつかのPythonスクリプトの簡単なデバッグをしようとしていますが、私は構文の完全な初心者であるため、少し苦労しています. 以下に示すように、ネットワーク経由で割り当てられたデータを取得します。

a = self.block.decode('hex')[95:63:-1]
b = self.midstate.decode('hex')[::-1]
payload = a + b 
print("Data Received {} \n", payload)

私は2つのことに興味があります:

  1. に保持されるバイト/ビット数はpayload? 試してみpayload__len()ましたが、うまくいきませんでした

  2. 値を 32 ビットの 16 進ワードで出力したいのpayloadですが、Python でこれを行う方法を知っている人はいますか?

4

1 に答える 1

1

1:

Python では、長さはオブジェクトとは別のものです。したがって、 len(payload)ペイロードが長さを持つことができるオブジェクトである限り、ペイロードの長さを提供します。

例:

>>> lst = [1,2,3,4]
>>> len(lst)
4

2 の場合:

Python 2.5:フロートを16進数に変換する方法は?

あなたのための例:

>>> hex(800)
'0x320'
>>> hex(123456789)
'0x75bcd15'
于 2012-11-07T14:24:34.113 に答える