Mark Dickinson wrote:
> On the other hand, there's at least some sense in which bytes already
> acts as a sort of poor-man's string: witness bytes.lower and friends.
> Maybe practicality beats purity here?

 From PEP 358 (describing what is now bytearray):

"""Note the conspicuous absence of .isupper(), .upper(), and friends.
     (But see "Open Issues" below.)  There is no .__hash__() because
     the object is mutable."""

And the open issue:

"""A case could even be made for supporting .islower(), .isupper(),
       .isspace(), .isalpha(), .isalnum(), .isdigit() and the
       corresponding conversions (.lower() etc.), using the ASCII
       definitions for letters, digits and whitespace.  If this is
       accepted, the cases for .ljust(), .rjust(), .center() and
       .split() become much stronger, and they should have default
       arguments as well, using an ASCII space or all ASCII whitespace
       (for .split())."""

PEP 3157 resolved that open issue as follows:

"""This is exactly the set of methods present on the str type in Python 
2.x, with the exclusion of .encode(). The signatures and semantics are 
the same too. However, whenever character classes like letter, 
whitespace, lower case are used, the ASCII definitions of these classes 
are used."""


That seems fairly explicit to me in saying that a bytes or bytearray 
object should be considered to be ASCII encoded when treated as a string.

Cheers,
Nick.

-- 
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---------------------------------------------------------------
             http://www.boredomandlaziness.org
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to