[Python-Dev] PEP 460 reboot
Mark Shannon
mark at hotpy.org
Mon Jan 13 09:46:13 CET 2014
More information about the Python-Dev mailing list
Mon Jan 13 09:46:13 CET 2014
- Previous message: [Python-Dev] PEP 460 reboot
- Next message: [Python-Dev] PEP 460 reboot
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 13/01/14 03:47, Guido van Rossum wrote: > On Sun, Jan 12, 2014 at 6:24 PM, Ethan Furman <ethan at stoneleaf.us> wrote: >> On 01/12/2014 06:16 PM, Ethan Furman wrote: >>> >>> >>> If you do : >>> >>> --> b'%s' % 'some text' >> >> >> Ignore what I previously said. With no encoding the result would be: >> >> b"'some text'" >> >> So an encoding should definitely be specified. > > Yes, but the encoding is no business of %s or %. As far as the > formatting operation cares, if the argument is bytes they will be > copied literally, and if the argument is a str (or anything else) it > will call ascii() on it. It seems to me that what people want from '%s' is: Convert to a str then encode as ascii for non-bytes or copy directly for bytes. So why not replace '%s' with '%a' for the ascii case and with '%b' for directly inserting bytes. That way, the encoding is explicit. I think it is vital that the encoding is explicit in all cases where bytes <-> str conversion occurs. Cheers, Mark.
- Previous message: [Python-Dev] PEP 460 reboot
- Next message: [Python-Dev] PEP 460 reboot
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list