Python에는 str 개체와 unicode 개체라는 두 가지 유형의 문자열이 있으며 둘 다 문자의 바이트 인코딩을 저장할 수 있지만 이는 매우 중요하며 인코딩과 디코딩이 있는 이유입니다. Python에서
encode 및 decode의 의미는
encode
unicode ------------------로 표현할 수 있습니다. ------> str
유니코드
디코드
몇 가지 일반적인 방법:
str_string.decode('codec')는 str_string을 unicode_string으로 변환하고, codec은 소스 str_string의 인코딩 방법입니다.
unicode_string.encode( ' codec')는 unicode_string을 str_string으로 변환하는 것이며 코덱은 대상 str_string의 인코딩 방법입니다
str_string.decode('from_codec').encode('to_codec')는 서로 다른 인코딩의 str_string 간 변환을 달성할 수 있습니다
예:
>>> t='Great Wall'
>>> t
'xb3xa4xb3xc7'
>> > t.decode('gb2312').encode('utf-8')
'xe9x95xbfxe5x9fx8e'
str_string.encode('codec')는 먼저 시스템의 기본 코덱을 호출하여 str_string을 변환합니다. unicode_string이고, 인코딩 매개변수 코덱을 사용하여 이를 최종 str_string으로 변환합니다. str_string.decode('sys_codec').encode('codec')와 동일합니다.
unicode_string.decode('codec')는 기본적으로 의미가 없습니다. 유니코드는 Python, UTF16 또는 UTF32(이미 Python 컴파일 시 결정됨)에서 하나의 유니코드 인코딩만 사용하며 인코딩 변환이 필요하지 않습니다.
참고: 기본 코덱은
import sys
sys.setdefaultencoding('utf-8')과 같이 site-packages 아래의 sitecustomize.py 파일에 지정되어 있습니다.