>>> u'あ' u'\u3042' >>> print u'あ' あ >>> u'あ'.encode('utf-8') '\xe3\x81\x82' >>> print u'あ'.encode('utf-8') あ >>> 'あ'.decode('utf-8') u'\u3042' >>> u'\u3042' u'\u3042' >>> print u'\u3042' あ >>> print u'\xe3\x81\x82' ã >>> print '\xe3\x81\x82' あ >>> '\xe3\x81\x82'.decode('utf-8') u'\u3042' >>> '\xe3\x81\x82'.encode('utf-8') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128) >>> u'\u3042'.decode('utf-8') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.5/encodings/utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeEncodeError: 'ascii' codec can't encode character u'\u3042' in position 0: ordinal not in range(128)