Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 인코딩/디코딩의 차이점은 무엇입니까?

<시간/>

유니코드 문자열을 바이트 문자열로 표현하는 것을 인코딩이라고 합니다. 바이트 문자열을 유니코드 문자열로 변환하는 것을 디코딩이라고 합니다. 일반적으로 유니코드 문자열을 IO에 사용해야 할 때마다 인코딩합니다(예:네트워크를 통해 전송하거나 디스크 파일에 저장). 일반적으로 네트워크나 디스크 파일에서 문자열 데이터를 수신할 때마다 바이트 문자열을 디코딩합니다.

주어진 인코딩을 사용하여 문자열을 인코딩하려면 다음을 수행할 수 있습니다.

 >>>u'æøå'.encode('utf8')
'\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8\xc3\x83\xc2\xa5'

astring을 디코딩하려면(인코딩에 사용된 것과 동일한 인코딩을 사용하여) 디코딩(encoding)을 호출해야 합니다. 예:

>>>'\xc3\x83\xc2\xa6\xc3\x83\xc2\xb8\xc3\x83\xc2\xa5'.decode('utf8')
u'\xc3\xa6\xc3\xb8\xc3\xa5'

utf8 인코딩의 이 문자열은 u'æøå'와 동일합니다.