2016-10-31 4 views
0

한다고 가정 나는 내가 UTF8로 디코딩 할 다음 문자열이 있습니다python3 디코드 외부 UTF8 문자열

: 파이썬 3를 사용

str ='\\u00d7\\u0090\\u00d7\\u0090\\u00d7\\u0090' 
# expect 'אאא' 

, 나는이 일을하기 위해 다음과 같은 있지만, 그렇지 않은 기대를

bytes(str, 'ascii').decode('unicode-escape') 
# prints '×××' 
bytes(str, 'ascii').decode('utf-8') 
# prints '\\u00d7\\u0090\\u00d7\\u0090\\u00d7\\u0090' 

어떤 도움이 필요합니까?

답변

1

encode/decode을 통해 여러 번 여행 할 수 있습니다.

print(st.encode('ascii').decode('unicode-escape').encode('iso-8859-1').decode('utf-8')) 

첫 번째는 the preferred alternate to bytes입니다. 두 번째는 이스케이프 시퀀스를 해당 문자로 변환합니다. 세 번째는 ISO-8859-1을 기반으로하는 유니 코드를 활용하여 처음 256 개 코드 포인트를 문자로 직접 변환하여 바이트로 다시 변환합니다. 마지막으로 UTF-8 문자열을 디코딩 할 수 있습니다.