Does unicode() equal to unicode(sys.getfilesystemencoding()) ?

Peter Otten __peter__ at web.de
Wed Jun 6 02:59:03 EDT 2007


人言落日是天涯,望极天涯不见家 wrote:

> The follow statement comes from the Python 2.5 documentation
> --------------
> encode( [encoding[,errors]])
> 
> Return an encoded version of the string. Default encoding is the
> current default string encoding. errors may be given to set a
> different error handling scheme.
> ---------------
> what's the "Default encoding" mean ? Does it equal to the
> sys.getfilesystemencoding()?
> If yes, but :
> 
>>>>unicode('中国', sys.getfilesystemencoding())
> u'\u4e2d\u56fd'
>>>>unicode('中国')
> Traceback (most recent call last):
>   File "<input>", line 1, in <module>
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xd6 in position
> 0: ordinal not in range(128)
> 
> It seems the "Default encoding" is not equal to the
> sys.getfilesystemencoding(). And then,  what is it ?
 
It is sys.getdefaultencoding(). On a properly configured system this is
always 'ascii'.

Peter



More information about the Python-list mailing list