반응형
cp949 인코딩이 필요한 코딩
infile = open("연설문.txt", "r")
outfile = open("optput.txt", "w")
파일 내용을 읽어 들여서 출력하려고 한다. 변수 infile에 파일을 오픈하여 데이터를 넣었다.
파일의 데이터를 인쇄하려한다.
word_dic = {}
total_count = 0
for line in infile:
line = line.rstrip()
print(line)
에러가 나온다. 실행 후 나오는 메세지다.
---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call last)
Input In [12], in <cell line: 4>()
1 word_dic = {}
2 total_count = 0
----> 4 for line in infile:
5 line = line.rstrip()
6 print(line)
UnicodeDecodeError: 'cp949' codec can't decode byte 0xed in position 6: illegal multibyte sequence
에러메세지는,
UnicodeDecodeError: 'cp949' codec can't decode byte 0xed in position 6: illegal multibyte sequence
이유는 "연설문.txt" 파일이 cp949 로 인코딩 되었기 때문이다. 그래서 "연설문.txt" 파일을 읽을 때 encoding 옵션에 "cp949"를 적용해 주어야 한다.
반응형
수정된 코드
infile = open("연설문.txt", "r", encoding='utf-8')
word_dic = {}
total_count = 0
cnt = 0
for line in infile:
cnt = cnt + 1
line = line.rstrip()
결과는 아래와 같이 나왔다. 원하는 결과다.
인코딩이란 무엇인가?
인코딩이란 인간의 문자를 컴퓨터가 알 수 있도록 변환한 것이다. 컴퓨터는 0과 1의 이진법의 코드로 된 데이터로 정보를 관리한다. 숫자든 문자든 '1011001111001'로 저장된다. 한글 인토딩 방식으로 가장 많이 사용되는 것은 UTF-8과 cp949 이다.
인코딩의 반대가 디코딩이다. 인코딩된 파일을 읽을 때 인코딩 방식을 정의해 주어야 출력되는 결과가 우리가 보는 한글 문자가 된다.
반응형
'파이썬 데이터분석' 카테고리의 다른 글
파이썬 Tip - 함수 도움말 부르기 코멘트 처리 (1) | 2023.11.26 |
---|---|
파이썬 데이터프레임 여러개를 한번에 출력하기 display (1) | 2023.11.26 |
직무역량 향상 과정 - 매치업(MatchUp) - 공기업, 교육기관, 학습자가 함께 - 참여해보세요-대학생, 구직자, 재직자 등이 대상 (0) | 2023.11.03 |
오류 처리 OperationalError 3140, 'Invalid JSON text (0) | 2023.06.26 |
마크다운 LAB 해 보기 (0) | 2023.06.10 |