2016-06-10 4 views
-1

문자열 :python3 바이트이 코드가 인코딩

res = conn.getresponse() 
data = res.read() 

doc = xmltodict.parse(data) 

risultati = doc['result']['data'] 

mieiris = json.loads(risultati) 

for k in mieiris['Headword']['Component']: 
    try: 
     print(k['Text']) 
    except KeyError: 
     pass 
    except UnicodeEncodeError: 
     uhm = k['Text'].encode("utf-8") 
     print(uhm.decode("unicode_escape")) 

나에게이 결과를 반환 : 지금

b'ci\xc3\xa0-o' 
inter. 
si usa come saluto amichevole e confidenziale quando ci si incontra o ci si lascia 
b'Dal ven. {\\i s{#c-v-r#}iao}, propr. \xe2\x80\x98(sono vostro) schiavo\xe2\x80\x99' 

을 : 내가 제대로 UTF-와 마지막 문자열을 표시하는 방법을 알아낼 수 없습니다 8 인코딩. 나 한테 어떤 힌트가 있니?

+0

도움이 될 것으로

for k in mieiris['Headword']['Component']: try: print(k['Text']) except KeyError: pass except UnicodeEncodeError: print(unidecode(k['Text'])) 

희망이 모두는 매우 불필요한 것 같습니다 - 당신은 단지 'UnicodeEncodeError' 경우 콘솔의 로케일이 할 수있는'점점되어야한다 인쇄중인 캐릭터를 지원할 수 없다고 생각합니다. 콘솔을 수정하거나 대신 파일에 쓰십시오. 마지막'encode()'/'decode()'는 완전히 미친 소리입니다. 이것은 일반적인 XY 문제처럼 들린다 –

+0

안녕하세요 @AlastairMcCormack, 예, 완전히 미친 짓입니다.) 올바른 방법으로 서식이 지정된 문자열을 얻으려면 많은 시도를했는데 이것이 내 마지막 도구였습니다. 이 파일은 콘솔에 내 마지막 출력이되지 않도록 전보 봇이 될 것입니다. –

+0

:) 좋아, 그래서 최종 애플 리케이션에 존재하지 않을 것입니다 귀하의 특정 콘솔에 한계에 대한 문제를 해결하기 위해 노력하고있어 - 나쁜 생각 :) 당신은 자신의 전보 봇을 쓰고 있습니까 (UTF - 8 모르스 (morse)에서 표현할 수 있습니까?) 또는 다른 사람이 표현할 수 있습니까? 그것이 의미하는 바대로 당신이 무엇을 요구하고 있는지 분명하지 않습니다. –

답변

0

유니 코드 모듈로 해결했습니다. 대한

그래서 내 마지막은 지금이 다른 사람 :