Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #100391

Re: Weird list conversion

From Erik <python@lucidity.plus.com>
Newsgroups comp.lang.python
Subject Re: Weird list conversion
Date 2015-12-13 20:28 +0000
Message-ID <mailman.218.1450038500.12405.python-list@python.org> (permalink)
References <5926ced0-5b86-41f2-81e8-55cc6f71b78c@googlegroups.com> <mailman.216.1450036662.12405.python-list@python.org> <3193bf38-82c3-4538-b500-5e23158898e6@googlegroups.com>

Show all headers | View raw


On 13/12/15 20:05, 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, what is _returned_ is a list of one-byte strings.

When you call "print", then the list class's __repr__() method is called 
which in turn calls the contained objects' __repr__() methods in turn - 
it is those methods (in this case, they are all the string class's) 
which is deciding to render ASCII printable characters as just their 
value and ASCII non-printable characters using their hex notation.

E.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Weird list conversion high5storage@gmail.com - 2015-12-13 11:45 -0800
  Re: Weird list conversion Laura Creighton <lac@openend.se> - 2015-12-13 20:57 +0100
    Re: Weird list conversion KP <kai.peters@gmail.com> - 2015-12-13 12:05 -0800
      Re: Weird list conversion Erik <python@lucidity.plus.com> - 2015-12-13 20:28 +0000
      Re: Weird list conversion Ian Kelly <ian.g.kelly@gmail.com> - 2015-12-13 13:28 -0700
      Re: Weird list conversion Erik <python@lucidity.plus.com> - 2015-12-13 20:31 +0000
      Re: Weird list conversion Larry Hudson <orgnut@yahoo.com> - 2015-12-13 12:42 -0800
      Re: Weird list conversion Chris Angelico <rosuav@gmail.com> - 2015-12-14 08:09 +1100
  Re: Weird list conversion Ian Kelly <ian.g.kelly@gmail.com> - 2015-12-13 12:59 -0700

csiph-web