Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
ENCODE(3)		   Library Functions Manual		     ENCODE(3)

       dec64, enc64, dec32, enc32, dec16, enc16, encodefmt - encoding byte ar-
       rays as strings

       #include	<u.h>
       #include	<libc.h>

       int  dec64(uchar	*out, int lim, char *in, int n)

       int  enc64(char *out, int lim, uchar *in, int n)

       int  dec32(uchar	*out, int lim, char *in, int n)

       int  enc32(char *out, int lim, uchar *in, int n)

       int  dec16(uchar	*out, int lim, char *in, int n)

       int  enc16(char *out, int lim, uchar *in, int n)

       int  encodefmt(Fmt*)

       Enc16, enc32 and	enc64 create null terminated strings.  They return the
       size  of	 the  encoded  string (without the null) or -1 if the encoding
       fails.  The encoding fails if lim, the length of	the output buffer,  is
       too small.

       Dec16,  dec32 and dec64 return the number of bytes decoded or -1	if the
       decoding	fails.	The decoding fails if the output buffer	is  not	 large
       enough or, for base 32, if the input buffer length is not a multiple of

       Encodefmt can be	used with and to print encoded representations of byte
       arrays.	The verbs are

       H      base  16	(i.e.  hexadecimal).  The default encoding is in upper
	      case.  The l flag	forces lower case.

       <      base 32

       [      base 64 (same as MIME)

       The length of the array is specified as f2.  For	example, to display  a
       15 byte array as	hex:

	   char	x[15];

	   fmtinstall('H', encodefmt);
	   print("%.*H\n", sizeof x, x);




Want to link to this manual page? Use this URL:

home | help