Issue 1678411: StringIO / cStringIO inconsistency with unicode (original) (raw)
Issue1678411
This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.
This issue has been migrated to GitHub: https://github.com/python/cpython/issues/44699
classification
Title: | StringIO / cStringIO inconsistency with unicode | |
---|---|---|
Type: | Stage: | |
Components: | Library (Lib) | Versions: |
process
Status: | closed | Resolution: | not a bug |
---|---|---|---|
Dependencies: | Superseder: | ||
Assigned To: | Nosy List: | arigo, loewis | |
Priority: | normal | Keywords: |
Created on 2007-03-11 18:07 by arigo, last changed 2022-04-11 14:56 by admin. This issue is now closed.
Messages (3) | ||
---|---|---|
msg31490 - (view) | Author: Armin Rigo (arigo) * ![]() |
Date: 2007-03-11 18:07 |
When trying to write unicode strings into a StringIO.StringIO() or a cStringIO.StringIO() file, different things occur. (This causes a failing test in the "mako" project if cStringIO is not available.) Compare the following with StringIO or with cStringIO: f = StringIO() f.write("\xC0") f.write(u"hello") print f.getvalue() With cStringIO, unicode strings are immediately encoded as ascii and the getvalue() returns '\xC0hello'. With StringIO, on the other hand, the getvalue() crashes in a ''.join() trying to convert 'xC0' to unicode. Normal file() objects follow the same behavior as cStringIO, so my guess is that StringIO.py is wrong here. | ||
msg31491 - (view) | Author: Martin v. Löwis (loewis) * ![]() |
Date: 2007-03-11 18:31 |
It's intentional that they behave differently. StringIO supports Unicode strings, cStringIO doesn't. This means that you can build up a large Unicode string with StringIO, but not with cStringIO. What should happen when you mix them is debatable. | ||
msg31492 - (view) | Author: Armin Rigo (arigo) * ![]() |
Date: 2007-03-12 00:04 |
I missed the documentation, which already desribes this difference. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:56:23 | admin | set | github: 44699 |
2007-03-11 18:07:00 | arigo | create |