How do you get Python 3 to output raw hexadecimal byte? I want to output the hex 0xAA
.
If I use print(0xAA)
, I get the ASCII \'170\'.
You can also use the hex-byte escape sequence ("\x") in a bytestring, specifying the sys.stdout.buffer.write()
method:
$ python -c 'import sys; sys.stdout.buffer.write(b"\x74\x68\x65\x73\x65\x20\x61\x72\x65\x20\x72\x61\x77\x20\x62\x79\x74\x65\x73\x21\xde\xad\xbe\xef")'
will output on your terminal:
these are raw bytes!ޭ��%
and inspecting with xxd
:
$ python -c 'import sys; sys.stdout.buffer.write(b"\x74\x68\x65\x73\x65\x20\x61\x72\x65\x20\x72\x61\x77\x20\x62\x79\x74\x65\x73\x21\xde\xad\xbe\xef")' | xxd
00000000: 7468 6573 6520 6172 6520 7261 7720 6279 these are raw by
00000010: 7465 7321 dead beef tes!....