[Python-Dev] buffer('abc') == 'abc' is False ?!

M.-A. Lemburg mal@lemburg.com
Wed, 16 Oct 2002 17:24:20 +0200


Guido van Rossum wrote:
>>>>* signals "this data is binary data"
>>>>* compares just fine to strings
>>>>* gets accepted by all APIs which use the buffer interface to
>>>>  access the data
>>>>* has a C API which can be used in extensions
>>>>* is available in Python 2.1.x and up
>>>
>>>
>>>I believe the string type meets all these requirements.
>>
>>Except one which was implicit: how to tell binary data from
>>text data. This information can sometimes be deduced
>>from the string content provided you know what text data
>>means to you, but this doesn't always work, since sometimes
>>binary data happens to look like text data (ie. use only
>>character ordinals as data bytes).
> 
> I don't understand why you need to signal "this is binary data" while
> at the same time you want to be able to compare to strings.

Because I use buffer objects to wrap string data to say
"this is binary data" to a database. When fetching the
same data back from the database I return a string and
I found the quirk mentioned in the subject while writing
a unit test for this. It's not a showstopper.

The above just was a hint not to deprecate the buffer
object until we've come up with a decent replacement
that's easy to adapt in existing code.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
_______________________________________________________________________
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/