Python 3은 기본적으로 소스 코드 파일에 UTF-8 인코딩을 사용합니다. 모든 소스 파일의 시작 부분에 인코딩 선언을 사용해야합니까? 처럼# -*- coding: utf-8 -*-
답변
기본값 은 UTF-8 에서 벗어나거나 해당 정보를 사용하기 위해 다른 도구 (예 : IDE 또는 텍스트 편집기)에 의존하는 경우에만 해당 선언을 사용해야합니다.
즉, 파이썬에 관한 한 한 다른 인코딩을 사용하려는 경우에만 해당 선언을 사용해야합니다.
편집기와 같은 다른 도구는 유사한 구문을 지원할 수 있습니다. 이것이 PEP 263 사양 이 구문에서 상당한 유연성을 허용 하는 이유입니다 (주석 coding
이어야 하고 텍스트가 있어야하며 그 뒤에 a :
또는 =
문자 및 선택적 공백이 와야합니다. 다음에 인식 된 코덱).
파이썬 이 소스 코드를 읽는 방법에만 적용됩니다 . 해당 코드 실행에는 적용되지 않으므로 인쇄, 파일 열기 또는 기타 I / O 작업이 바이트와 유니 코드간에 변환되는 방식에는 적용되지 않습니다. Python, Unicode 및 인코딩에 대한 자세한 내용은 Python Unicode HOWTO 또는 Ned Batchelder 의 매우 철저한 실용적 유니 코드 강연 을 읽어 보시기 바랍니다 .
답변
아니요, 다음과 같은 경우 :
- 전체 프로젝트
UTF-8
는 기본값 인 만 사용합니다 . - 그리고 IDE 도구가 각 파일에서 인코딩 선언을 필요로하지 않는다는 것을 확신합니다.
예, 만약
- 프로젝트는 다른 인코딩에 의존합니다.
- 또는 많은 인코딩에 의존합니다.
다중 인코딩 프로젝트의 경우 :
일부 파일이으로 인코딩 된 경우에서 인코딩 된 경우
non-utf-8
에도UTF-8
인코딩 선언도 추가해야합니다.Explicit is better than implicit.
참고:
- PyCharm에는 다음과 같은 선언이 필요하지 않습니다.
- vim에는 해당 선언이 필요하지 않지만 다음과 같습니다.
# vim: set fileencoding=<encoding name> :