diff options
Diffstat (limited to 'man/2/encoding')
| -rw-r--r-- | man/2/encoding | 50 |
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) |
