Next: time-date, Previous: ietf-drums, Up: Basic Functions [Contents][Index]

### 4.4 rfc2047

RFC2047 (Message Header Extensions for Non-ASCII Text) specifies how non-ASCII text in headers are to be encoded. This is actually rather complicated, so a number of variables are necessary to tweak what this library does.

The following variables are tweakable:

`rfc2047-header-encoding-alist`

  This is an alist of header / encoding-type pairs. Its main purpose is to prevent encoding of certain headers.

  The keys can either be header regexps, or `t`.

  The values can be `nil`, in which case the header(s) in question won’t be encoded, `mime`, which means that they will be encoded, or `address-mime`, which means the header(s) will be encoded carefully assuming they contain addresses.

`rfc2047-charset-encoding-alist`

  RFC2047 specifies two forms of encoding—`Q` (a Quoted-Printable-like encoding) and `B` (base64). This alist specifies which charset should use which encoding.

`rfc2047-encode-function-alist`

  This is an alist of encoding / function pairs. The encodings are `Q`, `B` and `nil`.

`rfc2047-encoded-word-regexp`

  When decoding words, this library looks for matches to this regexp.

`rfc2047-encoded-word-regexp-loose`

  This is a version from which the regexp for the Q encoding pattern of `rfc2047-encoded-word-regexp` is made loose.

`rfc2047-encode-encoded-words`

  The boolean variable specifies whether encoded words (e.g., ‘`=?us-ascii?q?hello?=`’) should be encoded again. `rfc2047-encoded-word-regexp` is used to look for such words.

`rfc2047-allow-irregular-q-encoded-words`

  The boolean variable specifies whether irregular Q encoded words (e.g., ‘`=?us-ascii?q?hello??=`’) should be decoded. If it is non-`nil`, `rfc2047-encoded-word-regexp-loose` is used instead of `rfc2047-encoded-word-regexp` to look for encoded words.

Those were the variables, and these are this functions:

`rfc2047-narrow-to-field`

  Narrow the buffer to the header on the current line.

`rfc2047-encode-message-header`

  Should be called narrowed to the header of a message. Encodes according to `rfc2047-header-encoding-alist`.

`rfc2047-encode-region`

  Encodes all encodable words in the region specified.

`rfc2047-encode-string`

  Encode a string and return the results.

`rfc2047-decode-region`

  Decode the encoded words in the region.

`rfc2047-decode-string`

  Decode a string and return the results.

`rfc2047-encode-parameter`

  Encode a parameter in the RFC2047-like style. This is a substitution for the `rfc2231-encode-string` function, that is the standard but many mailers don’t support it. See rfc2231.

Next: time-date, Previous: ietf-drums, Up: Basic Functions [Contents][Index]