- くだすれPython(超初心者用) その47【Ruby禁止】
235 :デフォルトの名無しさん[sage]:2020/03/25(水) 19:56:42.27 ID:mIdHRgzi - >>217
structパッケージかな from struct import pack pack('<I', int('12345678', 16)) 長いというならラムダ式でも使って change = lambda s: pack('<I', int(s, 16)) と定義すれば change('12345678') で使える
| - くだすれPython(超初心者用) その47【Ruby禁止】
238 :デフォルトの名無しさん[sage]:2020/03/25(水) 21:11:26.87 ID:mIdHRgzi - >>236
\x78 は16進数で78のことを表している 16進数であることを明確にするにはH'78と記述する プログラムでは0x78と書く \x78\x56...みたいな16進バイト列を作りたいんだけど、16進数にされるとちょっと困る、と言われても、こっちも困る
| - くだすれPython(超初心者用) その47【Ruby禁止】
241 :デフォルトの名無しさん[sage]:2020/03/25(水) 22:46:13.13 ID:mIdHRgzi - >>240
プログラムに組み込んでパイプで渡したいだけなら何もする必要はない python -c "import sys; sys.stdout.write('AA\x12\x34')" | hexdump -C 結果 00000000 41 41 12 34 |AA.4| コマンドライン引数でこの文字列を受け取った上で別のプログラムに渡す場合は、自分で作らないとない python -c "import sys; sys.stdout.write(sys.argv[1])" "AA\x12\x34" | hexdump -C 結果 00000000 41 41 5c 78 31 32 5c 78 33 34 |AA\x12\x34| \x12がH'12の1バイトではなく、H'5c783132の4バイトとして評価される
|
|