2013/3/4 Guido van Rossum <gu...@python.org> > >>>> x = u'\xe9'.encode('ascii', 'ignore') > >>>> x == '', x is '' > > (True, False) > > Code that relies on this is incorrect (the language doesn't guarantee > interning) but nevertheless given the intention of the implementation, > that behavior of encode() is also a bug. >
The example above is obviously from python2.7; there is a similar example with python3.2: >>> x = b'\xe9\xe9'.decode('ascii', 'ignore') >>> x == '', x is '' (True, False) ...but this bug has been fixed in 3.3: PyUnicode_Resize() always returns the unicode_empty singleton. -- Amaury Forgeot d'Arc
_______________________________________________ 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