17

これは私がしました:

import cStringIO.StringIO as StringIO

そして、私はそれをあらゆる場所で使用していることに気づきました。それでいいですか?StringIOと同じ扱いですか?

4

2 に答える 2

25

それらは同じではありません。cStringIOUnicode 文字を正しく処理しません。

>>> StringIO.StringIO().write(u'\u0080')

>>> cStringIO.StringIO().write(u'\u0080')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\x80' in position 0: ordinal not in range(128)
于 2011-01-13T06:48:51.133 に答える