Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

number::recordlocator(3pm) [debian man page]

Number::RecordLocator(3pm)				User Contributed Perl Documentation				Number::RecordLocator(3pm)

NAME
Number::RecordLocator - Encodes integers into a short and easy to read and pronounce "locator string" SYNOPSIS
use Number::RecordLocator; my $generator = Number::RecordLocator->new(); my $string = $generator->encode("123456"); # $string = "5RL2"; my $number = $generator->decode($string); # $number = "123456"; DESCRIPTION
"Number::RecordLocator" encodes integers into a 32 character "alphabet" designed to be short and easy to read and pronounce. The encoding maps: 0 to O 1 to I S to F B to P With a 32 bit encoding, you can map 33.5 million unique ids into a 5 character code. This certainly isn't an exact science and I'm not yet 100% sure of the encoding. Feedback is much appreciated. new Instantiate a new "Number::RecordLocator" object. Right now, we don't actually store any object-specific data, but in the future, we might. init Initializes our integer to character and character to integer mapping tables. encode INTEGER Takes an integer. Returns a Record Locator string. decode STRING Takes a record locator string and returns an integer. If you pass in a string containing an invalid character, it returns undef. canonicalize STRING To compare a Record Locator string with another you can do: print "ALWAYS TRUE " if $generator->decode("B0") == $generator->decode("PO"); However, this method provides an alternative: my $rl_string = $generator->encode(725); print "ALWAYS TRUE " if $generator->canonicalize("b0") eq $rl_string; print "ALWAYS TRUE " if $generator->canonicalize("BO") eq $rl_string; print "ALWAYS TRUE " if $generator->canonicalize("P0") eq $rl_string; print "ALWAYS TRUE " if $generator->canonicalize("po") eq $rl_string; This is primarily useful if you store the record locator rather than just the original integer and don't want to have to decode your strings to do comparisons. Takes a general Record Locator string and returns one with character mappings listed in "DESCRIPTION" applied to it. This allows string comparisons to work. This returns "undef" if a non-alphanumeric character is found in the string. BUGS AND LIMITATIONS
No bugs have been reported. Please report any bugs or feature requests to "bug-number-recordlocator@rt.cpan.org", or through the web interface at <http://rt.cpan.org>. AUTHOR
Jesse Vincent "<jesse@bestpractical.com>" LICENCE AND COPYRIGHT
Copyright (c) 2006, Best Practical Solutions, LLC. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic. perl v5.10.0 2009-08-13 Number::RecordLocator(3pm)

Check Out this Related Man Page

base64(n)					       Text encoding & decoding binary data						 base64(n)

__________________________________________________________________________________________________________________________________________________

NAME
base64 - base64-encode/decode binary data SYNOPSIS
package require Tcl 8 package require base64 ?2.4.2? ::base64::encode ?-maxlen maxlen? ?-wrapchar wrapchar? string ::base64::decode string _________________________________________________________________ DESCRIPTION
This package provides procedures to encode binary data into base64 and back. ::base64::encode ?-maxlen maxlen? ?-wrapchar wrapchar? string Base64 encodes the given binary string and returns the encoded result. Inserts the character wrapchar every maxlen characters of output. wrapchar defaults to newline. maxlen defaults to 76. Note well: If your string is not simple ascii you should fix the string encoding before doing base64 encoding. See the examples. The command will throw an error for negative values of maxlen, or if maxlen is not an integer number. ::base64::decode string Base64 decodes the given string and returns the binary data. The decoder ignores whitespace in the string. EXAMPLES
% base64::encode "Hello, world" SGVsbG8sIHdvcmxk % base64::encode [string repeat xyz 20] eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6 eHl6eHl6eHl6 % base64::encode -wrapchar "" [string repeat xyz 20] eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6 # NOTE: base64 encodes BINARY strings. % set chemical [encoding convertto utf-8 "Cu2088Hu2081u2080Nu2084Ou2082"] % set encoded [base64::encode $chemical] Q+KCiEjigoHigoBO4oKET+KCgg== % set caffeine [encoding convertfrom utf-8 [base64::decode $encoded]] BUGS, IDEAS, FEEDBACK This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category base64 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
base64, encoding CATEGORY
Text processing COPYRIGHT
Copyright (c) 2000, Eric Melski Copyright (c) 2001, Miguel Sofer base64 2.4.2 base64(n)
Man Page