2016-07-16 1 views
0

유니 코드를 다루는 것은 파이썬으로 만 프로그래밍 할 수있는 유일한 도전 과제입니다. 이전 프로젝트에서 많은 문제가 있었으며, 무언가가 작동 할 때까지 다른 인코딩을 시험해 보았습니다. 그것은 매우 편리합니다 초보자를위한 튜토리얼)입니다.문자열을 파일로 저장할 때 파이썬 2.7에서 유니 코드 처리하기

# -*- coding: utf-8 -*- 
string = "Åland Islands" 
with open("1.txt","w")as f: 
    f.write(string.decode("utf-8")) 

반환 :

return codecs.utf_8_decode(input, errors, True) 

UnicodeDecodeError: 'utf8' codec can't decode byte 0xc5 in position 0: invalid continuation byte

나는 행운으로이 문제를 해결하기 위해 많은 인코딩을 테스트

예를 들어이 코드가 있습니다.

+0

문자열 = U "올란드 제도"를 선택한 후 f.write (들), – chapelo

+0

작동합니다은 '파일을 작동하지 않았다 : 2 행의 C : \ Python27 \ learn \ unicode \ test.py 파일에 ASCII가 아닌 문자 '\ xc5'가 있지만 인코딩이 선언되지 않았습니다. 자세한 내용은 http://python.org/dev/peps/pep-0263/을 참조하십시오. – Ez0r

답변

2

코딩 라인은 어떻게 파이톤 인터프리터에게 바이트를 해석해야 하는지를 알려줍니다. 그렇다고 실제로 스크립트에 UTF-8 인코딩 텍스트가 포함되어있는 것은 아닙니다. 실제로 오류 메시지는 파일이 ISO-8859로 인코딩 된 텍스트 (Latin-1)로 저장되었음을 나타냅니다. 0xc5는 Å에 대한 Latin-1 인코딩입니다. 0xc3 0x85는 UTF-8 인코딩입니다.

편집기가 실제로 파일을 UTF-8로 인코딩 된 텍스트로 저장하여 코딩 라인이 인터프리터에 있지 않도록해야합니다. ": \ Python27 \ 배울 \ 유니 코드 \의 test.py C는"라인이 구문 에러

+0

맞았습니다 (y) –

관련 문제