"email.encoders": 인코더
************************

**소스 코드:** Lib/email/encoders.py

======================================================================

이 모듈은 레거시("Compat32") 이메일 API의 일부입니다. 새로운 API에서
기능은 "set_content()" 메서드의 *cte* 매개 변수에 의해 제공됩니다.

This module is deprecated in Python 3.  The functions provided here
should not be called explicitly since the "MIMEText" class sets the
content type and CTE header using the *_subtype* and *_charset* values
passed during the instaniation of that class.

이 섹션의 나머지 텍스트는 모듈의 원본 설명서입니다.

"Message" 객체를 처음부터 만들 때, 종종 호환 메일 서버를 통한 전송을
위해 페이 로드를 인코딩해야 합니다. 바이너리 데이터가 포함된 *image/**
와 *text/** 유형 메시지의 경우 특히 그렇습니다.

"email" 패키지는 "encoders" 모듈에서 편리한 인코더를 제공합니다. 이 인
코더는 실제로 "MIMEAudio"와 "MIMEImage" 클래스 생성자가 기본 인코딩을
제공하는 데 사용됩니다. 모든 인코더 함수는 정확히 하나의 인자, 인코딩
할 메시지 객체를 취합니다. 일반적으로 페이 로드를 추출하여, 인코딩한
다음, 페이 로드를 새로 인코딩된 값으로 재설정합니다. 또한 *Content-
Transfer-Encoding* 헤더를 적절하게 설정합니다.

이러한 함수는 멀티 파트 메시지에는 의미가 없음에 유의하십시오. 대신 개
별 서브 파트에 적용해야 하며, 유형이 멀티 파트인 메시지를 전달하면
"TypeError"가 발생합니다.

제공되는 인코딩 함수는 다음과 같습니다:

email.encoders.encode_quopri(msg)

   페이 로드를 인용 quoted-printable 형식으로 인코딩하고 *Content-
   Transfer-Encoding* 헤더를 "quoted-printable"로 설정합니다 [1]. 이것
   은 대부분의 페이 로드가 인쇄 가능한 일반 데이터이지만, 인쇄할 수 없
   는 문자가 몇 개 있을 때 사용하기에 적합한 인코딩입니다.

email.encoders.encode_base64(msg)

   페이 로드를 base64 형식으로 인코딩하고 *Content-Transfer-Encoding*
   헤더를 "base64"로 설정합니다. 이것은 페이 로드가 대부분 인쇄할 수
   없는 데이터일 때 사용하기에 좋은 인코딩입니다. quoted-printable보다
   더 압축된 형식이기 때문입니다. base64 인코딩의 단점은 텍스트를 사람
   이 읽을 수 없도록 만든다는 것입니다.

email.encoders.encode_7or8bit(msg)

   이것은 실제로 메시지의 페이 로드를 수정하지는 않지만, 페이 로드 데
   이터를 기반으로, *Content-Transfer-Encoding* 헤더를 적절하게 "7bit"
   나 "8bit"로 설정합니다.

email.encoders.encode_noop(msg)

   이것은 아무것도 하지 않습니다. 심지어 *Content-Transfer-Encoding*
   헤더도 설정하지 않습니다.

-[ 각주 ]-

[1] "encode_quopri()"로 인코딩하면 데이터의 모든 탭과 공백 문자도 인코
    딩됨에 유의하십시오.
