<p dir="ltr"><br>
On 8 Jan 2014 14:08, "Stephen J. Turnbull" <<a href="mailto:stephen@xemacs.org">stephen@xemacs.org</a>> wrote:<br>
><br>
> Terry Reedy writes:<br>
><br>
>  > The above describes a minor variation on bytes and seems to me to be a<br>
>  > classic case for subclassing, whether in Python for ease or C for speed,<br>
>  > in an imported module.<br>
><br>
> I agree with you, but the discussion on python-dev indicates that the<br>
> majority of core devs, including Guido IIUC, disagree with us.  In<br>
> fact they want to add many str-like capabilities to bytes (and the<br>
> related mutable classes bytearray and memoryview).</p>
<p dir="ltr">That's far from a foregone conclusion. The main problem we've had over the past few years is the inability to get past "just give us back the Python 2 str type" responses from wire protocol developers attempting to migrate that aren't happy with the approach of manipulating data in the text domain and on to actual experiments with a suitable type for wire protocol development that interoperates nicely with the Python 3 text model.</p>

<p dir="ltr">Now that your proposal has been better explained, yes, I agree that "asciibytes" and "asciistr" types would be well worth experimenting with. I mention both, since it's far from clear if a str subclass or a bytes subclass (or neither, although that may require bug fixes in CPython) would be more convenient for this use case.</p>

<p dir="ltr">The key difference between such a type and a str with surrogate escaped elements or a Python 2 bytestring is that it would attempt to implicitly *encode* any Unicode text it encountered as strict ASCII text. This would allow text and binary processing to share code paths, with limited risk of producing mojibake (particularly since this type wouldn't be a builtin).</p>

<p dir="ltr">The type would also share the str behaviour of returning a single element subsequence when indexed rather than an integer.</p>
<p dir="ltr">Cheers,<br>
Nick.</p>
<p dir="ltr">><br>
> _______________________________________________<br>
> Python-ideas mailing list<br>
> <a href="mailto:Python-ideas@python.org">Python-ideas@python.org</a><br>
> <a href="https://mail.python.org/mailman/listinfo/python-ideas">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
> Code of Conduct: <a href="http://python.org/psf/codeofconduct/">http://python.org/psf/codeofconduct/</a><br>
</p>