파이썬 마을 게시판 인덱스 파이썬 마을
우리나라 파이썬 사용자들의 이야기 마을
 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 
Google
python.or.kr Web

# -*- coding: utf-8 -*- 가 무슨 의미죠?

 
글 쓰기   답변 달기    파이썬 마을 게시판 인덱스 -> 파이썬 질문과 답변
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
i5on9i



가입:
올린 글: 12

올리기올려짐: 2006 10월 31 12:41 pm    주제: # -*- coding: utf-8 -*- 가 무슨 의미죠? 인용과 함께 답변

한참 한글 처리 때문에 고심하다가,
unicode를 쓰기로 했는데,
찾다가 저런 표시를 하면,

utf-8으로 인식한다고 해서,
저는 .py내의 모든 string을 알아서 utf-8으로 처리하나 보다라고 생각했는데,
그게 아닌가 보더군요..^^;;;

어디서 보니까 단순히 저장할 때 자동적으로 BOM 을 추가 한다는 것 같은데,
실제로 저장하고 살펴봐도 BOM 이 추가된 것 같지는 않은데...

도대체 뭔지 모르겠네요,

혹시 의미를 아시면 좀 가르쳐 주세여^^
그럼 좋은 하루 되세여~
위로
사용자 정보 보기 비밀 메시지 보내기    
장혜식
사이트 관리자


가입:
올린 글: 1374

올리기올려짐: 2006 10월 31 1:32 pm    주제: 인용과 함께 답변

소스코드 인코딩을 의미합니다. (정확한 명세에 대해서는 PEP-263 http://www.python.org/dev/peps/pep-0263/ 을 참조하시면 됩니다.)

이게 현실적으로 한국인 사용자들에게 갖는 의미는 u'xxxx'를 정의할 때
이게 제대로 되느냐 안 되느냐의 차이가 거의 유일합니다. 예를 들어
coding: latin 으로 정의하시고 u'한글' 이라고 쓰면
u'\xed\x95\x9c\xea\xb8\x80' 과 같이 latin으로 디코드된 유니코드
문자열이 돼 버리지만, coding: utf-8로 정의하시면 u'\ud55c\uae00'로 제대로 됩니다.
(유니코드가 아닌 일반 문자열의 경우에는 그냥 디코딩 했다가 다시 인코딩
하기 때문에, 제대로 된 글자이기만 하면 느낄 수 있는 차이가 없습니다.)

그 외에 한국인 사용자들이 인식하지 못하는 다른 영향으로는 일본과 중국의
인코딩 처리에 관련된 것인데요, 일본의 shift-jis 같은 경우에는 문자의 2번째에
아스키의 괄호나 부호같은 것들과 같은 코드가 사용되기도 합니다. 따라서,
인코딩이 latin으로 선언된 상태에서 shift-jis를 쓰면 심지어 괄호가 안 맞다고
문법이 틀렸다고 에러를 내기도 하고, 인덴트가 틀렸다고 하기도 하고,
문자열이 의도하지 않은 곳에서 끝나서 기상천외한 에러가 납니다.
그래서 coding: shift-jis로 인코딩을 제대로 선언해 주면, 이런 것들 까지도
모두 제대로 디코딩한 다음에 처리가 되기 때문에 결국 원하는 대로 그냥
일반적인 파이썬 문법으로 쓸 수 있게 됩니다. (중국의 gb18030같은 경우에도
shift-jis보다는 좀 덜하지만 비슷한 문제가 있긴 합니다.)

그 외에 coding을 제대로 정의하시면 에디터가 자동으로 인식한다거나
(emacs, vim 류)하는 장점들도 있습니다.
_________________
http://me2day.net/hyeshik
위로
사용자 정보 보기 비밀 메시지 보내기    
i5on9i



가입:
올린 글: 12

올리기올려짐: 2006 11월 01 6:02 pm    주제: 답변 감사합니다. 인용과 함께 답변

언제나 좋은 답변에 감솨 드립니다.(^^)(__)꾸벅~
위로
사용자 정보 보기 비밀 메시지 보내기    
이전 글 표시:   
글 쓰기   답변 달기    파이썬 마을 게시판 인덱스 -> 파이썬 질문과 답변 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다



Powered by phpBB © 2001, 2005 phpBB Group
회선/장비: Daum DNA , 관리: 장혜식,서상현