• 목록
  • 아래로
  • 위로

저는 파이썬에 대해 아주 기초적인 내용만을 알고 있습니다 ㅠㅠ


나중에 수정해야 할 부분이나 새로 추가해야 할 부분을 발견하게 되면 보완하도록 하겠습니다.



1) 파이썬3은 파이썬2와 달리 UTF-8이 디폴트이기 때문에 #-*- coding:utf-8 -*- 이 구문은 불필요합니다.



2) 스트링의 인코딩과 관련해서는 파이썬 2.X와 표현이 조금 달라진 점이 있습니다.



s = "한글" 
u = str(s, "utf-8")



3) 변수에 담긴 문자열에 인코딩 문제가 발생하면 다음과 같이 해결하시면 됩니다 ^^



var_string = var_string.decode('cp949').encode('utf-8')




4) 외부 라이브러리의 인코딩을 설정하려면 다음과 같은 방식으로 하시면 됩니다.



import sys

reload(sys)

sys.setdefaultencoding('utf-8')




5) 입출력과 관련해서는 다음과 같은 방식으로 처리하시면 됩니다.



with open('euc_kr.txt', encoding='euc-kr') as f:

또는

f = open("utf8.txt", 'w', encoding='UTF-8')




6) 아톰 계열의 에디터에서 문제가 발생하면 다음과 같은 내용을 스크립트에 추가하시면 됩니다.



import sys

import io

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')

sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')




추가) Beautifulsoup에서의 인코딩은 다음과 같이 처리합니다.



soup = BeautifulSoup(html, 'html.parser', from_encoding='euc-kr')



작성자
이니스프리 119 Lv. (0%) 2058570/115200000EXP

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 3

NoYeah
profile image
cp949를 따로 지정하는 것을 보니 윈도우와 utf-8의 간극 때문에 설정해줘야 하는 현상 같군요.

2바이트 문자권인 한글로 인해 항상 문제가 생기는 것 같습니다. ㅠㅠ
comment menu
2018.11.06. 16:39

신고

"NoYeah님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 작성자 → NoYeah
profile image

현재 윈도우 커널에 유니코드가 적용되었음에도 불구하고

윈도우 95 시절의 CP949를 왜 아직도 윈도우의 디폴트 인코딩으로 사용하는지 모르겠어요.

그리고 일부 웹사이트에서 CP949를 아직도 사용하더군요 ㅠㅠ

심지어 인코딩으로 EUC-KR을 선언해 놓고서 CP949로 인코딩된 페이지를 보내는 웹사이트들도 있어서 헷갈리더군요.


여담이지만 인코딩 문제에 아주 민감하신 분들은 

커널에 직접 접근하는 보안프로그램은 2바이트 문자권의 언어가 아닌 영문판을 사용하길 권한다고 말씀하시기도 하더군요.

comment menu
2018.11.06. 16:45

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

NoYeah → 이니스프리
profile image
인코딩을 연구하다보면 왜 영어가 세계 표준으로 사용되는지 이해가 되긴 하더라구요.
comment menu
2018.11.06. 17:34

신고

"NoYeah님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 1010
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 4685
552 php7 의 큰 장점 4 image ToriaTo 16.07.21.16:07 790
551 경험치에 관련해서 문의가 많군요. 조금 정리해봤습니다. 10 마스터 마스터 16.09.16.22:59 382
550 애드블록은 사용하시면 안됩니다! 6 image 에듀 title: 맛스타의 자물쇠에듀 16.09.18.19:56 566
549 복권 긁지않고 내용물 확인하는 방법.. 5 title: 황금 서버 (30일)어코 16.09.19.13:08 364
548 모바일 환경 이용하시는 분들 팁...? 3 file title: 은메달도다 16.09.30.01:13 380
547 인증서 설치하신분들중 WoSign, StartSSL 인증서를 사용하시는분들은 봐주세요 3 YJSoft YJSoft 16.10.01.20:32 412
546 .tk(freenom) 로 접속이 안되는 분들이 요즘 왕왕보이네요. 15 image 마스터 마스터 16.10.05.13:40 1938
545 멘션 설정을 해주세요. 1 image 에듀 title: 맛스타의 자물쇠에듀 16.12.01.20:47 291
544 게시글 이동시 포인트는 차감됩니다. 2 image 에듀 title: 맛스타의 자물쇠에듀 16.12.03.22:34 262
543 [롯데리아] 클래식 치즈버거 주문시 치즈스틱 무료 증정 이벤트 6 image 이니스프리 이니스프리 16.12.07.00:20 405
542 특정사이트 접근제한 하는 방법 1 image 대전댁 title: 은메달대전댁 16.12.09.21:13 669
541 [생활정보] 12/5-12/11 7일간 와퍼 주니어 51% 할인 (1900원) 6 image 이니스프리 이니스프리 16.12.10.00:26 268
540 [생활정보] 동동주 베이스의 안동 찹쌀 소주가 출시되었습니다 7 image 이니스프리 이니스프리 16.12.13.12:57 387
539 [펌] 자동차 월동준비 노하우 - 다들 미리미리 월동준비 하세요 ^^ 1 image 이니스프리 이니스프리 16.12.14.11:41 256
538 [정보] 생각보다 열량이 높은 음식 8가지.jpg 2 image 하루살이 title: 황금 서버 (30일)하루살이 16.12.17.12:36 307
537 [정보] 과제할 때 유용한 사이트 11선.jpg 2 image 하루살이 title: 황금 서버 (30일)하루살이 16.12.17.12:41 430
536 [정보] 일상적인 물건들에 숨겨진 비밀 13가지.jpg image 하루살이 title: 황금 서버 (30일)하루살이 16.12.17.12:43 343
535 [할인정보] 버거킹 와퍼, 롱킹, 롱치킨버거 할인 (연말까지) image 이니스프리 이니스프리 16.12.19.10:45 249
534 [IT정보] Kaspersky Internet Security 40% 세일! 이니스프리 이니스프리 16.12.19.17:49 414
533 [생활정보] 롯데리아 포켓몬 인형 이벤트! image 이니스프리 이니스프리 16.12.21.00:24 416