[Python-Dev] RFC: PEP 460: Add bytes % args and bytes.format(args) to Python 3.5 (original) (raw)

Chris Barker chris.barker at noaa.gov
Fri Jan 10 22:52:20 CET 2014


On Fri, Jan 10, 2014 at 9:17 AM, Juraj Sukop <juraj.sukop at gmail.com> wrote:

As you may know, PDF operates over bytes and an integer or floating-point number is written down as-is, for example "100" or "1.23".

Just to be clear here -- is PDF specifically bytes+ascii?

Or could there be some-other-encoding unicode in there?

If so, then you really have a mess!

if it is bytes+ascii, then it seems you could use a unicode object and encode/decode to latin-1

Perhaps still a bit klunkier than formatting directly into a bytes object, but workable.

b'%.1f %.1f %.1f RG' % (r, g, b)

is more confusing than: b'%s %s %s RG' % tuple(map(lambda x: (u'%.1f' % x).encode('ascii'), (r, g, b)))

Let's see, I think that would be:

u'%.1f %.1f %.1f RG' % (r, g, b)

then when you want to write it out:

.encode('latin-1')

dumping the binary data in would be a bit uglier, for teh image example:

stream ...binary image data... endstream endobj

u"stream\n%s\nendstream\nendobj"%binary_data.decode('latin-1')

I think.....

not too bad, though if nothing else an alias for latin-1 that made it clear it worked for this would be nice.

maybe ascii_plus_binary or something?

-Chris

--

Christopher Barker, Ph.D. Oceanographer

Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception

Chris.Barker at noaa.gov -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20140110/4e1ec1a6/attachment-0001.html>



More information about the Python-Dev mailing list