반응형
질문
고려하십시오:
$ 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)
반응형
댓글