unikod

Andrzej Krzysztofowicz ankry w green.mif.pg.gda.pl
Śro, 31 Gru 2003, 10:11:49 CET


Jacek Konieczny wrote:
> On Tue, Dec 30, 2003 at 09:40:57PM +0100, Andrzej Krzysztofowicz wrote:
> > Jacek Konieczny wrote:
> > > python -c "unicode(file('plik.txt'),'utf-8','strict')"
> > > 
> > > Wywali się, jezeli plik.txt będzie zawierał cokolwiek co nie jest
> > > poprawnym UTF-8.
> > 
> > A da jakis sensowny komunikat odnosnie miejsca bledu ?
> > Bo iconv-owy okreslajacy offset odnosnie poczatku danych jest kiepski.
> > Zwlaszcza jak sie sprawdza megabajty w strumieniu.
> > 
> > A moze da sie cos zrobic, by kontynuowal po bledzie ?
> > (w zasadzie chodzi mi o zlokalizowanie linii z bledami w strumieniu)
> 
> Zamiast 'strict' dać 'replace', a potem w stringu szukać 'Unicode
> replacement character'. Ale śmierdzi mi to coś brudnym hackiem...
> 
> A wogóle, to powyższy jednolinijkowiec nie wypluwa kodu na którym się
> wywalił?

$ python -c "unicode(file('test.txt'),'utf-8','strict')"
Traceback (most recent call last):
  File "<string>", line 1, in ?
TypeError: coercing to Unicode: need string or buffer, file found
$ ls -l test.txt
-rw-r--r--    1 ankry    ak           1666 Dec 31 10:13 test.txt

Tak samo na pliku testowym z poprawnym i niepoprawnym unikodem.
Zupelnie nie znam pythona.

$ rpm -q python
python-2.2.3-2

Ra.

-- 
=======================================================================
  Andrzej M. Krzysztofowicz               ankry w mif.pg.gda.pl
  phone (48)(58) 347 14 61
Faculty of Applied Phys. & Math.,   Gdansk University of Technology



Więcej informacji o liście dyskusyjnej pld-devel-pl