On 12/13/2015 12:05 PM, KP wrote:
On Sunday, 13 December 2015 11:57:57 UTC-8, Laura Creighton  wrote:
In a message of Sun, 13 Dec 2015 11:45:19 -0800, KP writes:
Hi all,

      f = open("stairs.bin", "rb")
      data = list(f.read(16))
      print data

returns

['=', '\x04', '\x00', '\x05', '\x00', '\x01', '\x00', '\x00', '\x00', '\x00', 
'\x00', '\x00', '\x00', '\x00', '\x00', '\x00']

The first byte of the file is 0x3D according to my hex editor, so why does 
Python return '=' and not '\x3D'?

As always, thanks for any help!

0x3d is the ascii code for '='

I am aware of that - so is the rule that non-printables are returned in hex 
notation whereas printables come in their ASCII representation?

No.  The data is returned as raw bytes.
It's the print that is responsible for the way these bytes are _displayed_.

     -=- Larry -=-

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to