summaryrefslogtreecommitdiff
path: root/man/2/encoding
diff options
context:
space:
mode:
Diffstat (limited to 'man/2/encoding')
-rw-r--r--man/2/encoding50
1 files changed, 50 insertions, 0 deletions
diff --git a/man/2/encoding b/man/2/encoding
new file mode 100644
index 00000000..6dc5189f
--- /dev/null
+++ b/man/2/encoding
@@ -0,0 +1,50 @@
+.TH ENCODING 2
+.SH NAME
+Encoding: enc, dec \- encoding and decoding of byte arrays as text
+.SH SYNOPSIS
+.EX
+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
+.EE
+.SH DESCRIPTION
+.B 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).
+.PP
+.B Enc
+returns a string with a textual encoding of the binary data in
+.IR a .
+.PP
+.B Dec
+returns an array of bytes containing the binary data encoded in
+.IR s .
+.PP
+Four encodings are provided, including all those defined by RFC3548;
+load the one required from the given path.
+.TP
+.B BASE16PATH
+Encode in base 16, representing each byte as a pair of hexadecimal digits, using upper-case letters (RFC3548).
+.TP
+.B BASE32PATH
+Encode in base 32, encoding 5 bits per character, using upper-case letters, digits `2' to `7', padded with `=', as per RFC3548.
+.TP
+.B 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.
+.TP
+.B BASE64PATH
+Encode in base 64, encoding 6 bits per character, using upper- and lower-case letters, digits, `+' and `/',
+padded with `=' (RFC3548).
+.PP
+When decoding, white space and illegal characters are ignored;
+base 16 and base 32 decoders are case-insensitive.
+.SH SOURCE
+.B /appl/lib/encoding
+.SH SEE ALSO
+.IR convcs (2)