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 systems (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
hexadecimal 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.
Page 1 Plan 9 (printed 11/4/25)
ENCODING(2) ENCODING(2)
SOURCE
/appl/lib/encoding
SEE ALSO
convcs(2)
Page 2 Plan 9 (printed 11/4/25)