13 Base 64: Encoding and Decoding
(require net/base64) | package: base |
The net/base64 library provides
utilities for Base 64 (MIME-standard) encoding and decoding.
13.1 Functions
procedure
(base64-encode bstr [newline]) → bytes?
bstr : bytes? newline : any/c = #"\r\n"
Consumes a byte string and returns its Base 64 encoding as a new byte
string. The returned string is broken into 72-byte lines separated by
newline, which defaults to a CRLF combination, and the
result always ends with a newline unless the
input is empty.
Although newline is intended to be a byte string, it can be any value (possibly with a performance penalty), and it is converted to a byte string using display.
procedure
(base64-decode bstr) → bytes?
bstr : bytes?
Consumes a byte string and returns its Base 64 decoding as a new byte
string.
procedure
(base64-encode-stream in out [newline]) → void?
in : input-port? out : output-port? newline : any/c = #"\n"
Reads bytes from in and writes the encoded result to
out, breaking the output into 72-character lines separated by
newline, and ending with newline unless
the input stream is empty. Note that the default newline
is just #"\n", not #"\r\n". The procedure returns when
it encounters an end-of-file from in.
Although newline is intended to be a byte string, it can be any value, and it is written using display.
procedure
(base64-decode-stream in out) → void?
in : input-port? out : output-port?
Reads a Base 64 encoding from in and writes the decoded
result to out. The procedure returns when it encounters an
end-of-file or Base 64 terminator = from in.
13.2 Base64 Unit
base64@ and base64^ are deprecated. They exist for backward-compatibility and will likely be removed in the future. New code should use the net/base64 module.
(require net/base64-unit) | package: compatibility-lib |
value
base64@ : unit?
Imports nothing, exports base64^.
13.3 Base64 Signature
(require net/base64-sig) | package: compatibility-lib |
signature
base64^ : signature
Includes everything exported by the net/base64 module.