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
       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 SF Trackers
       [http://sourceforge.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                      base32::core(n)
