ENCODING(2)ENCODING(2)NAME
Encoding: enc, dec - encoding and decoding of byte arrays as text
SYNOPSIS
include "encoding.m";
base16 := load Encoding Encoding->BASE16PATH;
base32 := load Encoding Encoding->BASE32PATH;
base32a := load Encoding Encoding->BASE32APATH;
base64 := load Encoding Encoding->BASE64PATH;
enc: fn(a: array of byte): string;
dec: fn(s: string): array of byte
DESCRIPTION
Encoding presents a common interface to several ways of encoding binary
data (represented in arrays of bytes) as printable text, to be included
in essentially textual data (such as XML) or sent through e-mail sys‐
tems (as in MIME).
Enc returns a string with a textual encoding of the binary data in a.
Dec returns an array of bytes containing the binary data encoded in s.
Four encodings are provided, including all those defined by RFC3548;
load the one required from the given path.
BASE16PATH
Encode in base 16, representing each byte as a pair of hexadeci‐
mal digits, using upper-case letters (RFC3548).
BASE32PATH
Encode in base 32, encoding 5 bits per character, using upper-
case letters, digits `2' to `7', padded with `=', as per
RFC3548.
BASE32APATH
Alternative encoding in base 32, encoding 5 bits per character,
using digits `2' to `7', letters (either case) except `l' and
`o', not padded.
BASE64PATH
Encode in base 64, encoding 6 bits per character, using upper-
and lower-case letters, digits, `+' and `/', padded with `='
(RFC3548).
When decoding, white space and illegal characters are ignored; base 16
and base 32 decoders are case-insensitive.
SOURCE
/appl/lib/encoding
SEE ALSOconvcs(2)ENCODING(2)