Provided by: tcllib_1.19-dfsg-2_all bug

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 associated 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) mappings from the basic
              map and stores them in the variables named by forwvar and backwvar  resp.  It  also
              constructs  a  regexp pattern 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 characters, 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 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   Trackers
       [http://core.tcl.tk/tcllib/reportlist].  Please also report any ideas for enhancements you
       may have for either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note further that attachments are strongly preferred over inlined patches. Attachments can
       be  made  by going to the Edit form of the ticket immediately after its creation, and then
       using the left-most button in the secondary navigation bar.

KEYWORDS

       base32

CATEGORY

       Text processing

COPYRIGHT

       Public domain