eval and unicode

"Martin v. Löwis" martin at v.loewis.de
Fri Mar 21 22:01:07 CET 2008

> eval() somehow decoded the passed expression. No question. It did not 
> use 'ascii', nor 'latin2' but something else. Why is that? Why there is 
> a particular encoding hard coded into eval? Which is that encoding? (I 
> could not decide which one, since '\xdb' will be the same in latin1, 
> latin3, latin4 and probably many others.)

I think in all your examples, you pass a Unicode string to eval, not
a byte string. In that case, it will encode the string as UTF-8, and
then parse the resulting byte string.


More information about the Python-list mailing list