elisp: Base 64
31.24 Base 64 Encoding
======================
Base 64 code is used in email to encode a sequence of 8-bit bytes as a
longer sequence of ASCII graphic characters. It is defined in Internet
RFC(1)2045. This section describes the functions for converting to and
from this code.
-- Command: base64-encode-region beg end &optional no-line-break
This function converts the region from BEG to END into base 64
code. It returns the length of the encoded text. An error is
signaled if a character in the region is multibyte, i.e., in a
multibyte buffer the region must contain only characters from the
charsets ‘ascii’, ‘eight-bit-control’ and ‘eight-bit-graphic’.
Normally, this function inserts newline characters into the encoded
text, to avoid overlong lines. However, if the optional argument
NO-LINE-BREAK is non-‘nil’, these newlines are not added, so the
output is just one long line.
-- Function: base64-encode-string string &optional no-line-break
This function converts the string STRING into base 64 code. It
returns a string containing the encoded text. As for
‘base64-encode-region’, an error is signaled if a character in the
string is multibyte.
Normally, this function inserts newline characters into the encoded
text, to avoid overlong lines. However, if the optional argument
NO-LINE-BREAK is non-‘nil’, these newlines are not added, so the
result string is just one long line.
-- Command: base64-decode-region beg end
This function converts the region from BEG to END from base 64 code
into the corresponding decoded text. It returns the length of the
decoded text.
The decoding functions ignore newline characters in the encoded
text.
-- Function: base64-decode-string string
This function converts the string STRING from base 64 code into the
corresponding decoded text. It returns a unibyte string containing
the decoded text.
The decoding functions ignore newline characters in the encoded
text.
---------- Footnotes ----------
(1) An RFC, an acronym for “Request for Comments”, is a numbered
Internet informational document describing a standard. RFCs are usually
written by technical experts acting on their own initiative, and are
traditionally written in a pragmatic, experience-driven manner.