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 <[email protected]>
<http://bugs.python.org/issue20424>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com