[Python] # -*- coding: utf-8 -*-를 쓰는 이유
[Python] # -*- coding: utf-8 -*-를 쓰는 이유 파이썬2의 기본 인코딩은 ascii 이다 파이썬2는 한글을 쓸때 골치아프다. 파이썬 스크립트에서 한글을 사용하게 될 때 파이썬은 ascii 인코딩일 것으로 예상하고 해석하려고 하지만 한글을 ascii로 해석이 불가능하기 때문에 SyntaxError발생 영어만 사용하면 별로 신경 쓸게 없지만 한글은 euc-kr , utf-8 이 공존하기 때문이다. 그냥 골치아픈것도 아니고 unicode와 조합되어서도 골치아프다. unicode 관련 부분의 경우 최초부터 지원한게 아니라 파이썬 2.4부터 지원을 추가되어서 문자열을 의미하는 타입이 str 와 unicode 가 존재해서 더 골치가 아프다 파이썬3에서는 기본값이 UTF-8이기 때문에 기본값에서 벗어나거나 다른 tool( ex: IDE또는 텍스트 편집기)를 사용하는 경우에만 사용 즉, 파이썬에 관한 다른 인코딩을 사용하고자 할때만 사용하면 됨 파이썬의 기본 인코딩은 ascii 이다. 스크립트 파일이 ascii인코딩일거라고 가정하고 읽어서 파싱하려고하는데 ascii로 해석이 불가능한 한글이라는 단어가 존재하기 때문에 SyntaxError(문법 에러)가 발생 이를 해결하기 위해서는 아래와 같은 스크립트 파일 첫줄에 파일의 인코딩을 명시해주면 된다. #-*- coding: utf-8 -*- 파이썬2.x의 기본 인코딩은 ascii 이다. 파이썬 스크립트에서 한글을 사용하게 될 때 파이썬은 ascii 인코딩일 것으로 예상하고 해석하려고 하지만 한글을 ascii로 해석이 불가능 하기 때문에 SyntaxError가 발생 한다. 출처 : https://libsora.so/posts/python-hangul/
댓글
댓글 쓰기