[Python-Dev] PEP 461: Adding % formatting to bytes and bytearray -- Final, Take 2
ncoghlan at gmail.com
Sun Feb 23 07:31:33 CET 2014
On 23 February 2014 13:47, Cameron Simpson <cs at zip.com.au> wrote:
> On 22Feb2014 17:56, Ethan Furman <ethan at stoneleaf.us> wrote:
>> Please let me know if anything else needs tweaking.
>> This area of programming is characterized by a mixture of binary data and
>> ASCII compatible segments of text (aka ASCII-encoded text).
>> All the numeric formatting codes (such as ``%x``, ``%o``, ``%e``, ``%f``,
>> ``%g``, etc.) will be supported, and will work as they do for str, including
>> the padding, justification and other related modifiers.
> I would like a single sentence here clarifying that the formatting
> of numeric values uses an ASCII encoding.
> It might be inferred from the earlier context, but I do not think
> it can be deduced and therefore I think it should be said outright.
> All the other formatting codes are quite explicit about how their
> arguments transform into bytes, but the numeric codes just quietly
> assume ASCII. The PEP should be blatant.
Specifically, I believe the PEP should state that, for the numeric codes:
b"%x" % val
is equivalent to:
b"%s" % (("%x" % val).encode("ascii"))
The rationale for including them is the unreadability of the latter form :)
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Python-Dev