New submission from Serhiy Storchaka: Unlike to io.StringIO, _pyio.StringIO doesn't work with lone surrogates.
>>> import io, _pyio >>> io.StringIO('\ud880') <_io.StringIO object at 0xb71426ec> >>> _pyio.StringIO('\ud880') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/serhiy/py/cpython/Lib/_pyio.py", line 2065, in __init__ self.write(initial_value) File "/home/serhiy/py/cpython/Lib/_pyio.py", line 1629, in write b = encoder.encode(s) File "/home/serhiy/py/cpython/Lib/encodings/utf_8.py", line 20, in encode return codecs.utf_8_encode(input, self.errors)[0] UnicodeEncodeError: 'utf-8' codec can't encode character '\ud880' in position 0: surrogates not allowed Proposed patch adds support of lone surrogates to _pyio.StringIO. ---------- components: IO, Unicode files: stringio_lone_surrogates.patch keywords: patch messages: 209583 nosy: benjamin.peterson, ezio.melotti, haypo, hynek, pitrou, serhiy.storchaka, stutzbach priority: normal severity: normal stage: patch review status: open title: _pyio.StringIO doesn't work with lone surrogates type: behavior versions: Python 3.3, Python 3.4 Added file: http://bugs.python.org/file33781/stringio_lone_surrogates.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue20424> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com