Как правильно использовать str.decode и unicode.encode? - PullRequest
0 голосов
/ 08 января 2010

Как правильно использовать str.decode и unicode.encode?

Например.

print str.decode
print unicode.encode

Ответы [ 3 ]

1 голос
/ 08 января 2010

Пример Ignacio верен, но зависит от того, может ли ваша консоль отображать символы Юникода, чего в Windows обычно нет. Вот то же самое, только с безопасными выходами строк (reprs):

>>> '\xe3\x81\x82'.decode('utf-8')    # three top-bit-set bytes, representing one character
u'\u3042'                             # Hiragana letter A

>>> u'\u3042'.encode('shift-jis')
'\x82\xa0'                            # only requires two bytes in the Shift-JIS encoding

>>> unicode('\x82\xa0', 'shift-jis')  # alternative way of doing a decode
u'\u3042'

когда вы пишете, например. файл или через веб-сервер, или вы находитесь в другой операционной системе, где консоль поддерживает UTF-8, это немного проще.

0 голосов
/ 12 января 2010
>>> unicode.encode(u"abcd","utf8")
'abcd' #unicode string u"abcd" got encoded to UTF-8 encoded string "abcd"

>>> str.decode("abcd","utf8")
u'abcd' #UTF-8 string "abcd" got decoded to python's unicode object u"abcd"
>>>
0 голосов
/ 08 января 2010
print 'あ'.decode('utf-8')
print repr(u'あ'.encode('shift-jis'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...