[python] Unicode/ne-unicode problem

Hynek Fabian hynek.fabian na firma.seznam.cz
Středa Květen 2 12:13:04 CEST 2012


On 05/02/12 11:50, Jaroslav Lukesh wrote:
> "'\\xc3\\xbd \\xc3\\xb7 \\xc3\\xad \\xc3.'"

In [41]: print eval("'\\xc3\\xbd \\xc3\\xb7 \\xc3\\xad
\\xc3.'").decode("cp1250")
Ă˝ Ă· Ă­ Ă

Čili přesně jak říkal Messa, není to utf8 ale znaky z utf8 přeuložené
jako win1250.

NOTE: některé rádobychytré nástroje se snaží takové věci uhádnout a
překódovávají ve vlastní režii. V případě pochybností vždy koukni na
repr(). A když už budeš chtít dumpnout syrový řetězec na výstup, použij
sys.stdout.write().  print provádí překódování podle terminálu, kteréžto
zrovna na wydlích imo nemůže dopadnout dobře. Terminál je cp852, gui
aplikace win1250, čili tam někde probíhá právě takové automagické
překódování jak jsem psal na začátku.


Další informace o konferenci Python