[issue8838] Remove codecs.readbuffer_encode() and codecs.charbuffer_encode()

STINNER Victor report at bugs.python.org
Wed Jun 9 01:13:34 CEST 2010

STINNER Victor <victor.stinner at haypocalc.com> added the comment:

r81854 removes codecs.charbuffer_encode() (and t# parsing format) from Python 3.2 (blocked in 3.1: r81855).


My problem with codecs.readbuffer_encode() is that it does accept byte *and* character strings. If you want to get a byte string, just use bytes(input). If you want to convert a character string to a byte string, use input.encode("utf-8"). But accepting both types may lead to mojibake as we had in Python2.

MAL> That's a common misunderstanding. The codec system does not
MAL> mandate a specific type combination. Only the helper methods
MAL> .encode() and .decode() on bytes and str objects in Python3 do.

This is related to #7475: we have to decide if we drop completly this  (currently unused) feature (eg. remove codecs.readbuffer_encode()), or if we "reenable" this feature again (reintroduce hex, bz2, rot13, ... codecs). This discussion should occur on the mailing list.


Python tracker <report at bugs.python.org>

More information about the Python-bugs-list mailing list