본문 바로가기
Python/Python FAQ

Python 소스에서 UTF-8 인코딩을 사용하는 작업 [중복], Working with UTF-8 encoding in Python source [duplicate]

by 베타코드 2023. 11. 14.
반응형

질문


고려하십시오:

$ 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 문자열을 어떻게 선언할 수 있을까요?


답변


파이썬 3에서는 UTF-8이 기본 소스 인코딩입니다 (참조: PEP 3120), 따라서 유니코드 문자를 어디에서나 사용할 수 있습니다.

파이썬 2에서는 소스 코드 헤더에서 선언할 수 있습니다:

# -*- coding: utf-8 -*-
....

이것은 PEP 0263에서 설명되어 있습니다.

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

# -*- coding: utf-8 -*-

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

댓글