ENCODING

포스트: 2
Tags

Posts

2 posts

[Python] 시스템 OS 인코딩 찾기

지훈현서|2021년 1월 27일

요즘에는 파이썬3을 Windows, Mac, Linux 등에 모두 사용하면서하나의 코드로 멀티 플랫폼에 도는 것을 목표로 해 왔습니다만,다음과 같이 특정 명령을 수행하고, cmd = [ ... ]po = subprocess.Popen(cmd, stdout=subprocess.PIPE)po.wait()out = po.stdout.read().decode('utf-8').strip() 그 결과가 파이썬3에서는 byte 로 결과가 나오므로문자열로 바꾸기 위해서는 위의 마지막 줄 처럼 decode를 시켜야 하는데문제는 무조건 utf-8 로 줄 수 없다는 데 있습니다.(물론 결과에 한글이 포함되어 있다고 가정합니다)위의 코드를 실행하면 마지막 줄에서 예외가 발생합니다. 맥과 리눅스에서는 디폴트로 UTF-8

[Python] BeautifulSoup 과 HTML 인코딩에 관한 고찰

지훈현서|2019년 6월 2일

얼마전 필요에 따라 BeautifulSoup을 이용하여 HTML 파싱하여 데이터를 추출하는 프로그램을 작성했는데, HTML을 읽고 그 내용을 파싱하기 위하여 다음과 같이 시도했습니다. with open('1.html', 'r', encoding='utf-8') as ifp: hstr = ifp.read() soup = BeautifulSoup(hstr, self.parser) 말로 설명하면 1.html 이라는 HTML 파일을 UTF-8 로 열어 그것을 hstr 문자열에 넣고 BS로 파싱한다는 의미입니다. 그런데 문제는 이 HTML이 동일한 사이트라도 때때로 다른 인코딩으로 가져온다는 것이었습니다.아마도 나라에 따라 해당 인코딩을 사용하게 한다던지 아니면 크롬 웹브라우저에서 C