Alexander Belopolsky wrote: > On Wed, Feb 23, 2011 at 4:23 PM, M.-A. Lemburg <m...@egenix.com> wrote: > .. >> "Latin-1" is the official name and the one used internally by Python, >> so it would be good to have the test suite and Python code in general >> to use that variant of the name (just as "utf-8" is preferred over >> "utf8"). >> >> Instead of adding more aliases to the C code, please change the >> encoding names in the stdlib and test suite. > > I cannot agree with you on this one. Official or not, "latin-1" is > much less commonly used than "latin1". Currently decode("latin1") is > 10x slower than decode("latin-1") on short strings. We already have > a check for "iso-8859-1" alias in PyUnicode_AsEncodedString(). Adding > "latin1" (and possibly "utf8" as well) is likely to speed up many > applications at minimal cost.
Fair enough, then add "latin1" and "utf8" to both PyUnicode_Decode() and PyUnicode_AsEncodedString(). Still, the stdlib and test suite should be examples of using the correct names. I only found these few cases where the wrong Latin-1 name is used in the stdlib: ./distutils/command/bdist_wininst.py: -- # convert back to bytes. "latin1" simply avoids any possible -- encoding="latin1") as script: -- script_data = script.read().encode("latin1") ./urllib/request.py: -- data = base64.decodebytes(data.encode('ascii')).decode('latin1') ./asynchat.py: -- encoding = 'latin1' ./ftplib.py: -- encoding = "latin1" ./sre_parse.py: -- encode = lambda x: x.encode('latin1') I get 12 hits for the test suite. Yet 108 for the correct name, so I can't follow your statement that the wrong variant is used more often. -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Source (#1, Feb 23 2011) >>> Python/Zope Consulting and Support ... http://www.egenix.com/ >>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ >>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/ ________________________________________________________________________ ::: Try our new mxODBC.Connect Python Database Interface for free ! :::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 http://www.egenix.com/company/contact/ _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com