[python encoding]
https://wikidocs.net/15133
인코딩(encoding) : 문자셋의 규칙대로 바이트를 만드는 방법
.py 내 default encoding 명시 : # -*- coding: utf-8 -*-
(파이썬에서 사용되는 문자열은 모두 유니코드 문자열)
>>> b = a.encode('utf-8')
>>> b
b'Life is too short'
>>> type(b)
<class 'bytes'>
디코딩 (decoding)
>>> a = '한글'
>>> b = a.encode('euc-kr')
>>> b.decode('euc-kr')
'한글'
[ Encoding with File I/O]
1) 입력으로 받은 바이트 문자열을 가능한한 가장 빨리 유니코드 문자열로 디코딩 할 것.
2) 변환된 유니코드 문자열로만 함수나 클래스등에서 사용할 것.
3) 입력에 대한 결과를 전송하는 마지막 부분에서만 유니코드 문자열을 인코딩해서 리턴할 것.
# 1. euc-kr로 작성된 파일 읽기
with open('euc_kr.txt', encoding='euc-kr') as f:
data = f.read() # 유니코드 문자열
# 2. unicode 문자열로 프로그램 수행하기
data = data + "\n" + "추가 문자열"
# 3. euc-kr로 수정된 문자열 저장하기
with open('euc_kr.txt', encoding='euc-kr', mode='w') as f:
f.write(data)
[Python URL 한글 인코딩 방법]
https://dololak.tistory.com/255
GET 방식을 통해 HTTP 요청을 하게 되는 파라미터 정보는 경우 URL 뒤에 붙어 전송됩니다.
이때 URL은 ASCII 코드값만 사용되는데, 한글은 ASCII 코드로 표현할 수 없으므로 인코딩 해주어야 합니다.
'''
from urllib import parse
url = parse.urlparse('http://www.exeam.org?examParam1=value1&examParam2=한글')
query = parse.parse_qs(url.query)
parse.urlencode(query, doseq=True) # query는 dict / tup 형태 #examParam2=%ED%95%9C%EA%B8%80&examParam1=value1
# quote(), unquote() for encoding simple string
'''
'IT > Python' 카테고리의 다른 글
matplotlib 에서 latex 쓰기 (1) | 2022.11.19 |
---|---|
np.unravel_index() 설명 및 사용예시 정리 (0) | 2022.11.15 |