NAME
Convert::Ascii85 - Encoding and decoding of ascii85/base85 strings
SYNOPSIS
use Convert::Ascii85;
my $encoded = Convert::Ascii85::encode($data);
my $decoded = Convert::Ascii85::decode($encoded);
use Convert::Ascii85 qw(ascii85_encode ascii85_decode);
my $encoded = ascii85_encode($data);
my $decoded = ascii85_decode($encoded);
DESCRIPTION
This module implements the Ascii85 (also known as Base85) algorithm for encoding binary data as text. This is done by interpreting each group of four bytes as a 32-bit integer, which is then converted to a five-digit base-85 representation using the digits from ASCII 33 (!
) to 117 (u
).
This is similar to MIME::Base64 but more space efficient: The overhead is only 1/4 of the original data (as opposed to 1/3 for Base64).
FUNCTIONS
- Convert::Ascii85::encode DATA
- Convert::Ascii85::encode DATA, OPTIONS
-
Converts the bytes in DATA to Ascii85 and returns the resulting text string. OPTIONS is a hash reference in which the following keys may be set:
- compress_zero => 0
-
By default, four-byte chunks of null bytes (
"\0\0\0\0"
) are converted to'z'
instead of'!!!!!'
. This can be avoided by passing a false value forcompress_zero
in OPTIONS. - compress_space => 1
-
By default, four-byte chunks of spaces (
' '
) are converted to'+<VdL'
. If you pass a true value forcompress_space
in OPTIONS, they will be converted to'y'
instead.
This function may be exported as
ascii85_encode
into the caller's namespace. - Convert::Ascii85::decode TEXT
-
Converts the Ascii85-encoded TEXT back to bytes and returns the resulting byte string. Spaces and linebreaks in TEXT are ignored.
This function may be exported as
ascii85_decode
into the caller's namespace.
SEE ALSO
http://en.wikipedia.org/wiki/Ascii85, MIME::Base64
AUTHOR
Lukas Mai, <l.mai at web.de>
BUGS
Please report any bugs or feature requests to bug-convert-ascii85 at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Convert-Ascii85. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Convert::Ascii85
You can also look for information at:
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
LICENSE AND COPYRIGHT
Copyright 2011 Lukas Mai.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.