


base32::core(n)          Base32 encoding          base32::core(n)


______________________________________________________________________________

NAME
       base32::core - Expanding basic base32 maps

SYNOPSIS
       package require Tcl  8.4

       package require base32::core  ?0.1?

       ::base32::core::define map forwvar backwvar ivar

       ::base32::core::valid string pattern mvar

_________________________________________________________________

DESCRIPTION
       This  package  provides  generic  commands for the construction of full
       base32 mappings from a basic mapping listing just the codes and associ-
       ated  characters.  The full mappings, regular and inverse, created here
       map to and from bit sequences, and also handle the partial mappings  at
       the end of a string.

       This  is in essence an internal package to be used by implementors of a
       base32 en- and decoder. A regular user has no need of this  package  at
       all.

API
       ::base32::core::define map forwvar backwvar ivar
              This  command  computes full forward and backward (inverse) map-
              pings from the basic map and stores them in the variables  named
              by  forwvar  and backwvar resp. It also constructs a regexp pat-
              tern for the  detection  of  invalid  characters  in  supposedly
              base32  encoded  input  and  stores  it in the variable named by
              ivar.

       ::base32::core::valid string pattern mvar
              This command checks if  the  input  string  is  a  valid  base32
              encoded  string,  based  on the pattern of invalid characters as
              generated by  ::base32::core::define,  and  some  other  general
              rules.

              The  result  of the command is a boolean flag. Its value is True
              for a valid string, and False otherwise. In the latter  case  an
              error  message  describing  the problem with the input is stored
              into the variable named by mvar. The variable is not touched  if
              the input was found to be valid.

              The  rules checked by the command, beyond rejection of bad char-
              acters, are:

              [1]    The length of the input is not a multiple of eight,

              [2]    The padding appears not at the end of input, but  in  the



base32                         0.1                              1





base32::core(n)          Base32 encoding          base32::core(n)


                     middle,

              [3]    The  padding  has  not of length six, four, three, or one
                     characters,


BUGS, IDEAS, FEEDBACK
       This document, and the package it describes, will  undoubtedly  contain
       bugs  and other problems.  Please report such in the category base32 of
       the         Tcllib         SF         Trackers          [http://source-
       forge.net/tracker/?group_id=12883].   Please  also report any ideas for
       enhancements you may have for either package and/or documentation.

KEYWORDS
       base32

CATEGORY
       Text processing

COPYRIGHT
       Copyright (c) Public domain




































base32                         0.1                              2


