python 및 str.encode | decode 함수를 사용하십시오.
>>> a="γεια"
>>> a
'\xce\xb3\xce\xb5\xce\xb9\xce\xb1'
>>> b='\xce\xb3\xce\xb5\xce\xb9\xff\xb1' # note second-to-last char changed
>>> print b.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)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xff in position 6: unexpected code byte
예외는 .args 속성에서 요청 된 정보를 갖습니다.
>>> try: print b.decode("utf_8")
... except UnicodeDecodeError, exc: pass
...
>>> exc
UnicodeDecodeError('utf8', '\xce\xb3\xce\xb5\xce\xb9\xff\xb1', 6, 7, 'unexpected code byte')
>>> exc.args
('utf8', '\xce\xb3\xce\xb5\xce\xb9\xff\xb1', 6, 7, 'unexpected code byte')
OSX 나 fink의 이전 버전의 iconv에는 -o 플래그가 없습니다. 그러나 stdout을 리디렉션하면 항상 작동해야합니다. –
Torsten, 고마워, 내 리눅스 머신에서 완벽하게 작동한다. cygwin 용 iconv 유틸리티의 버전을 찾을 수 없지만, 그것은 showstopper가 아닙니다. –
모든 문제를 포착하지 못했습니다 ... – zvolkov