
when used in email headers or bodies.  Certain character sets must be
converted outright, and are not allowed in email.  Instances of this
module expose the following information about a character set:

input_charset: The initial character set specified.  Common aliases
               are converted to their `official' email names (e.g. latin_1
               is converted to iso-8859-1).  Defaults to 7-bit us-ascii.

header_encoding: If the character set must be encoded before it can be
                 used in an email header, this attribute will be set to
                 charset.QP (for quoted-printable), charset.BASE64 (for
                 base64 encoding), or charset.SHORTEST for the shortest of
                 QP or BASE64 encoding.  Otherwise, it will be None.

body_encoding: Same as header_encoding, but describes the encoding for the
               mail message's body, which indeed may be different than the
               header encoding.  charset.SHORTEST is not allowed for
               body_encoding.

output_charset: Some character sets must be converted before they can be
                used in email headers or bodies.  If the input_charset is
                one of them, this attribute will contain the name of the
                charset output will be converted to.  Otherwise, it will
                be None.

input_codec: The name of the Python codec used to convert the
             input_charset to Unicode.  If no conversion codec is
             necessary, this attribute will be None.

output_codec: The name of the Python codec used to convert Unicode
              to the output_charset.  If no conversion codec is necessary,
              this attribute will have the same value as the input_codec.
c