프로그래밍 언어/Python

Python 소스에서 UTF-8 인코딩 작업

Rateye 2021. 12. 15. 11:39
728x90
반응형
질문 : Python 소스에서 UTF-8 인코딩 작업

중히 여기다:

$ cat bla.py 
u = unicode('d…')
s = u.encode('utf-8')
print s
$ python bla.py 
  File "bla.py", line 1
SyntaxError: Non-ASCII character '\xe2' in file bla.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

소스 코드에서 UTF-8 문자열을 어떻게 선언 할 수 있습니까?

답변

소스 헤더에서 다음을 선언 할 수 있습니다.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
....

PEP 0263에 설명되어 있습니다.

그런 다음 문자열에 UTF-8을 사용할 수 있습니다.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

u = 'idzie wąż wąską dróżką'
uu = u.decode('utf8')
s = uu.encode('cp1250')
print(s)

UTF-8이 기본 소스 인코딩이므로 Python 3에서는이 선언이 필요하지 않습니다 ( PEP 3120 참조).

또한 텍스트 편집기가 코드를 UTF-8로 올바르게 인코딩하는지 확인하는 것이 좋습니다. 그렇지 않으면 UTF-8로 해석되지 않는 보이지 않는 문자가있을 수 있습니다.

출처 : https://stackoverflow.com/questions/6289474/working-with-utf-8-encoding-in-python-source
728x90
반응형