<div dir="ltr"><div>IMO the special status for isascii() matches the special status of ASCII as encoding (yeah, I know, it's not the default encoding anywhere, but it still comes up regularly in standards and as common subset of other encodings).<br><br>Should you wish to check for compatibility with other ranges IMO some expression involving max(<the_string>) should cut it.<br><br></div>(FWIW there should be a special place in hell for those people who say "ASCII" when they mean "Latin-1".)<br><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 26, 2018 at 5:27 PM, Steven D'Aprano <span dir="ltr"><<a href="mailto:steve@pearwood.info" target="_blank">steve@pearwood.info</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Fri, Jan 26, 2018 at 02:37:14PM +0100, Victor Stinner wrote:<br>
> 2018-01-26 13:39 GMT+01:00 Steven D'Aprano <<a href="mailto:steve@pearwood.info">steve@pearwood.info</a>>:<br>
> > I have no objection to isascii, but I don't think it goes far enough.<br>
> > Sometimes I want to know whether a string is compatible with Latin-1 or<br>
> > UCS-2 as well as ASCII. For that, I used a function that exposes the<br>
> > size of code points in bits:<br>
><br>
> Really? I never required such check in practice. Would you mind to<br>
> elaborate your use case?<br>
<br>
</span>tcl/tk and Javascript only support UCS-2 (16 bit) Unicode strings.<br>
Dealing with the Supplementary Unicode Planes have the same problems<br>
that older "narrow" builds of Python sufferred from: single code points<br>
were counted as len(2) instead of len(1), slicing could be wrong, etc.<br>
<br>
There are still many applications which assume Latin-1 data. For<br>
instance, I use a media player which displays mojibake when passed<br>
anything outside of Latin-1.<br>
<br>
Sometimes it is useful to know in advance when text you pass to another<br>
application is going to run into problems because of the other<br>
application's limitations.<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
Steve<br>
</font></span><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<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" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer" target="_blank">http://python.org/psf/<wbr>codeofconduct/</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</div></div></div>