1 cfa37a7b 2004-04-10 devnull .TH ENCODE 3
3 cfa37a7b 2004-04-10 devnull dec64, enc64, dec32, enc32, dec16, enc16, encodefmt \- encoding byte arrays as strings
4 cfa37a7b 2004-04-10 devnull .SH SYNOPSIS
5 cfa37a7b 2004-04-10 devnull .B #include <u.h>
7 cfa37a7b 2004-04-10 devnull .B #include <libc.h>
10 cfa37a7b 2004-04-10 devnull int dec64(uchar *out, int lim, char *in, int n)
13 cfa37a7b 2004-04-10 devnull int enc64(char *out, int lim, uchar *in, int n)
16 cfa37a7b 2004-04-10 devnull int dec32(uchar *out, int lim, char *in, int n)
19 cfa37a7b 2004-04-10 devnull int enc32(char *out, int lim, uchar *in, int n)
22 cfa37a7b 2004-04-10 devnull int dec16(uchar *out, int lim, char *in, int n)
25 cfa37a7b 2004-04-10 devnull int enc16(char *out, int lim, uchar *in, int n)
28 cfa37a7b 2004-04-10 devnull int encodefmt(Fmt*)
29 cfa37a7b 2004-04-10 devnull .SH DESCRIPTION
31 cfa37a7b 2004-04-10 devnull .IR Enc16 ,
35 cfa37a7b 2004-04-10 devnull create null terminated strings. They return the size of the
36 cfa37a7b 2004-04-10 devnull encoded string (without the null) or -1 if the encoding fails.
37 cfa37a7b 2004-04-10 devnull The encoding fails if
38 cfa37a7b 2004-04-10 devnull .IR lim ,
39 cfa37a7b 2004-04-10 devnull the length of the output buffer, is too small.
41 cfa37a7b 2004-04-10 devnull .IR Dec16 ,
45 cfa37a7b 2004-04-10 devnull return the number of bytes decoded or -1 if the decoding fails.
46 cfa37a7b 2004-04-10 devnull The decoding fails if the output buffer is not large enough or,
47 cfa37a7b 2004-04-10 devnull for base 32, if the input buffer length is not a multiple
50 cfa37a7b 2004-04-10 devnull .I Encodefmt
51 cfa37a7b 2004-04-10 devnull can be used with
52 bf8a59fa 2004-04-11 devnull .IR fmtinstall (3)
54 bf8a59fa 2004-04-11 devnull .IR print (3)
55 cfa37a7b 2004-04-10 devnull to print encoded representations of byte arrays.
56 cfa37a7b 2004-04-10 devnull The verbs are
59 cfa37a7b 2004-04-10 devnull base 16 (i.e. hexadecimal). The default encoding is
60 cfa37a7b 2004-04-10 devnull in upper case. The
62 cfa37a7b 2004-04-10 devnull flag forces lower case.
68 cfa37a7b 2004-04-10 devnull base 64 (same as MIME)
71 cfa37a7b 2004-04-10 devnull The length of the array is specified as
73 cfa37a7b 2004-04-10 devnull For example, to display a 15 byte array as hex:
76 cfa37a7b 2004-04-10 devnull char x[15];
78 cfa37a7b 2004-04-10 devnull fmtinstall('H', encodefmt);
79 cfa37a7b 2004-04-10 devnull print("%.*H\\n", sizeof x, x);
82 cfa37a7b 2004-04-10 devnull .SH SOURCE
83 b5fdffee 2004-04-19 devnull .B /usr/local/plan9/src/libc/port/u32.c
85 b5fdffee 2004-04-19 devnull .B /usr/local/plan9/src/libc/port/u64.c