[Python-Dev] PEP 460 reboot (original) (raw)

Mark Shannon mark at hotpy.org
Mon Jan 13 09:46:13 CET 2014


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.



More information about the Python-Dev mailing list