인코딩
-
utf-8 파일 처리 중 bom으로 인한 출력 오류프로그래밍/의문 2016. 10. 11. 19:55
파일을 읽었다. with open(filename, mode="r", encoding="utf-8") as file:return file.readlines() 그런데 readlines()로 가져온 결과물들을 print 하는 부분에서 뜬금 없이 예외가 발생했었다. 예외의 메세지는 /ufeff를 해석할 수 없음! 이유는 윈도우에서 utf-8로 텍스트 파일을 작성하면 파일의 가장 첫 부분에 bom(byte order mask)를 자동으로 붙이는데, 이 bom을 출력하려고 하니 문제가 발생한 것이다. 해결utf-8로 파일을 읽으나, 파일의 첫 부분에 bom이 있을 경우 이를 제거한다. with open(filename, mode="r", encoding="utf-8") as file: # (또는 open 시 e..