pyparser を使用して、16 進数からテキストへのコンバーターの出力を処理しています。スペースで区切られた 1 行あたり 16 文字が出力されます。16 進値が ASCII 印刷可能文字の場合、その文字が印刷されます。それ以外の場合、コンバーターはピリオド (.) を出力します。
ほとんどの場合、出力は次のようになります。
. a . v a l i d . s t r i n g .
. a n o t h e r . s t r i n g .
. e t c . . . . . . . . . . . .
この行を記述するための私の pyparsing コードは次のとおりです。
dump_line = 16 * Word(printables, exact=1)
これは、16 進数からテキストへのコンバーターが 16 進数値 0x20 に到達し、スペースが出力されるまでは正常に機能します。
l i n e . w . a . s p a c e .
その場合、pyparsing は出力されたスペースを無視し、次の行から文字を取得して 16 文字の「クォータ」を作成します。
誰かがスペースで区切られた16文字を期待するようにpyparsingに指示する方法を提案できますか?スペースも有効な文字になる可能性がありますか?
前もって感謝します。J