<p><br>
On Aug 24, 2012 6:17 PM, "Paul Moore" <<a href="mailto:p.f.moore@gmail.com">p.f.moore@gmail.com</a>> wrote:<br>
><br>
> On 24 August 2012 21:21, Daniel Holth <<a href="mailto:dholth@gmail.com">dholth@gmail.com</a>> wrote:<br>
> > Hi Paul! You could probably guess that this is the wheel digital<br>
> > signatures package. All the string formatting arguments (I hope) are<br>
> > now passed to binary() or native() string conversion functions that do<br>
> > less on Python 2.7 than on Python 3.<br>
><br>
> One point that this raises. Any such "string-only" format spec would<br>
> only be available in Python 3.4+, and almost certainly only in<br>
> format(). So if you're interested in something that works across<br>
> Python 2 and 3, you wouldn't be able to use it anyway (and something<br>
> like the must_be_str function is probably your best bet). On the other<br>
> hand, if you're targeting 3.4+ only, the bytes/string code is probably<br>
> cleaner (that being a lot of the point of the Python 3 exercise :-))<br>
> and so the need for a string-only spec may be a lot less.<br>
><br>
> I dunno. I haven't hit a lot of encoding type issues myself, so I<br>
> don't have much background in what might help. OTOH, what I *have*<br>
> found is that the change in thinking that Python 3's approach pushes<br>
> onto me (encode/decode at the edges and use str consistently<br>
> internally, plus never gloss over the fact that you have to know an<br>
> encoding to convert bytes <-> str) fixes a lot of "problems" I thought<br>
> I was having...</p>
<p>That's the core of it. You can convert bytes to string without knowing the encoding. "%s" % bytes. But instead of failing or converting from ascii it does something totally useless. I argue that this is a bug, and an alternative 'anything except bytes' should be available. Not so hot on the competing only-str idea. </p>

<div class="gmail_quote">On Aug 24, 2012 6:17 PM, "Paul Moore" <<a href="mailto:p.f.moore@gmail.com">p.f.moore@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 24 August 2012 21:21, Daniel Holth <<a href="mailto:dholth@gmail.com">dholth@gmail.com</a>> wrote:<br>
> Hi Paul! You could probably guess that this is the wheel digital<br>
> signatures package. All the string formatting arguments (I hope) are<br>
> now passed to binary() or native() string conversion functions that do<br>
> less on Python 2.7 than on Python 3.<br>
<br>
One point that this raises. Any such "string-only" format spec would<br>
only be available in Python 3.4+, and almost certainly only in<br>
format(). So if you're interested in something that works across<br>
Python 2 and 3, you wouldn't be able to use it anyway (and something<br>
like the must_be_str function is probably your best bet). On the other<br>
hand, if you're targeting 3.4+ only, the bytes/string code is probably<br>
cleaner (that being a lot of the point of the Python 3 exercise :-))<br>
and so the need for a string-only spec may be a lot less.<br>
<br>
I dunno. I haven't hit a lot of encoding type issues myself, so I<br>
don't have much background in what might help. OTOH, what I *have*<br>
found is that the change in thinking that Python 3's approach pushes<br>
onto me (encode/decode at the edges and use str consistently<br>
internally, plus never gloss over the fact that you have to know an<br>
encoding to convert bytes <-> str) fixes a lot of "problems" I thought<br>
I was having...<br>
<br>
Paul.<br>
</blockquote></div>