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
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 base32::core(n)