2013-08-23 3 views
0

저는 파이썬에서 프로그램을 작성하고 있습니다. 유니 코드 문자 기반의 텍스트가 있으며 다음과 같은 형식의 파일로 저장됩니다 : % D0 % 9D % D2 % B1 % D1 % 80 % D1 % 81 % D2 % B1 % D0 % BB % D1 % 82 % D0 % B0 % D0 % BD_ % D3 % 98 % D0 % B1 % D1 % 96 % D1 % 88 % D2 % B1 % D0 % BB % U % 8 % U % U % 8 % U % 8 % U0 % 8B % U % 8 % U % 8 % U8로 다시 디코드하려고합니다.16 진수 형식으로 저장된 문자열을 파이썬에서 이전 양식으로 변환하십시오.

내가 가진 그렇다면 :

title = "%D0%9D%D2" 

어떻게 다시 UTF8 문자열로 다시 디코딩.

답변

1

그 문자열은 백분율 인코딩을 사용하고있는 것처럼 보입니다. 즉, 먼저 이스케이프 처리해야합니다. 당신은

Нұрсұлтан_Әбішұлы_Назарбаев 

의 출력 urllib.unquote의 결과는 당신에게 유니 코드 이스케이프 문자열을 줄 것이다을 제공

import urllib 
s = "%D0%9D%D2%B1%D1%80%D1%81%D2%B1%D0%BB%D1%82%D0%B0%D0%BD_%D3%98%D0%B1%D1%96%D1%88%D2%B1%D0%BB%D1%8B_%D0%9D%D0%B0%D0%B7%D0%B0%D1%80%D0%B1%D0%B0%D0%B5%D0%B" 
print urllib.unquote(s) 

처럼 뭔가를 할 수 있습니다. 파이썬 3 equivelant는 생각합니다. urllib.parse.unquote()입니다.

관련 문제