OT Python print a errory s unicode

Pavel Brychta pavel.brychta na duhasys.eu
Středa Říjen 13 10:00:30 CEST 2021


Aha, takze chyba je uz v obsahu toho retezce a ne v nejake konverzi 
predtim. V tom pripade je treba se zamerit na to, jak se tam ty nesmysly 
dostaly. Standardni metody dokazou ten retezec prevest maximalne s 
ignorovanim chyb (treba str.encode('ascii', 'ignore') ), coz ale 
znamena, ze invalidni byty vystriha pryc. Dalsi moznost pak je nepouzit 
konverzi na bytearray, ale proiterovat to rucne (treba ord(str[i]), nebo 
primo str[i], popr '%x' % str[i])

P.B.

Dne 12. 10. 21 v 13:49 Pavel Hudeček napsal(a):
> Omlouvám se, ale nějak mi není jasné, jak to může pomoct. Udělám 
> nějakej konvert ze stringu do bytearray a ten umře úplně stejným 
> způsobem. Nebo se to dá konvertit nějak blbuvzdorně?
>
> PH
>
> ---------- Původní e-mail ----------
> Od: Pavel Brychta <pavel.brychta na duhasys.eu>
>
>     DD,
>
>     Python 2.X má řetězce jako pole bytů, Python 3.x má implicintí
>     řetězce v Unicode. Neuvedl jste, kterou verzi Pythonu používáte,
>     ale předpokládám, že >3, takže se zkuste odívat na Pythoní
>     bytearray (
>     https://docs.python.org/release/3.1.3/library/functions.html#bytearray
>     <https://docs.python.org/release/3.1.3/library/functions.html#bytearray>
>     ), který potom dumpnete ven.
>
>     P.B.
>
>     Dne 12. 10. 21 v 12:20 Pavel Hudeček napsal(a):
>
>         Dobrý den všem,
>
>         mějme string vygenerovaný knihovnou, který občas může
>         obsahovat divné znaky. A já bych ho chtěl zobrazit bez záruky
>         správnosti enkódování. Prostě aby bylo vidět co tam asi tak je.
>
>         Když udělám for a print(str) zobrazí se třeba 10 ze 13 stringů
>         a pak nastane:
>         UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in
>         position 5: invalid start byte
>
>         Je nějaký způsob, jak ho zobrazit bez errorů i za cenu, že to
>         nebude zcela správně?
>
>         Poznámka: Na Win10 to funguje bez errorů, ale ne Linuxu
>         nastává tenhle error. Ale je možné, že rozdíl win/lin je na
>         straně vzniku toho stringu.
>
>         Je teda nějakej způsob, jak string zcela hloupě zobrazit, asi
>         jako když se v roce 1995 zmáčklo F3 ve Volkov Commanderu?
>
>         Díky,
>         PH
>
>         _______________________________________________
>         HW-list mailing list  -  sponsored bywww.HW.cz  <http://www.hw.cz>
>         Hw-list na list.hw.cz  <mailto:Hw-list na list.hw.cz>
>         http://list.hw.cz/mailman/listinfo/hw-list  <http://list.hw.cz/mailman/listinfo/hw-list>
>
>     _______________________________________________
>     HW-list mailing list - sponsored by www.HW.cz
>     Hw-list na list.hw.cz
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20211013/ae0ca3d9/attachment.html>


Další informace o konferenci Hw-list