Can anyone explain why I'm getting an ascii encoding error when I'm trying to write out using a UTF-8 encoder?
Thanks Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> filterMap = {} >>> for i in range(0,255): ... filterMap[chr(i)] = chr(i) ... >>> filterMap[chr(9)] = chr(136) >>> filterMap[chr(10)] = chr(133) >>> filterMap[chr(136)] = chr(9) >>> filterMap[chr(133)] = chr(10) >>> line = '''this has ... tabs and line ... breaks''' >>> filteredLine = ''.join([ filterMap[a] for a in line]) >>> import codecs >>> f = codecs.open('foo.txt', 'wU', 'utf-8') >>> print filteredLine thisêhasêàtabsêandêlineàbreaks >>> f.write(filteredLine) Traceback (most recent call last): File "<stdin>", line 1, in ? File "C:\Python24\lib\codecs.py", line 501, in write return self.writer.write(data) File "C:\Python24\lib\codecs.py", line 178, in write data, consumed = self.encode(object, self.errors) UnicodeDecodeError: 'ascii' codec can't decode byte 0x88 in position 4: ordinal not in range(128)
-- http://mail.python.org/mailman/listinfo/python-list