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

FreeBSD Manual Pages

  
 
  

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

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

SYNOPSIS
       #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*)

DESCRIPTION
       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
       8.

       Encodefmt can be	used with fmtinstall(3)	and print(3) 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);

SOURCE
       /usr/local/plan9/src/lib9/u32.c
       /usr/local/plan9/src/lib9/u64.c

								     ENCODE(3)

NAME | SYNOPSIS | DESCRIPTION | SOURCE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=encode&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help