Convert-BaseN
view release on metacpan or search on metacpan
my $cb = Convert::BaseN->new('base64');
my $cb = Convert::BaseN->new( name => 'base64' );
# or base
my $cb = Convert::BaseN->new( base => 64 );
my $cb_url = Convert::BaseN->new(
base => 64,
chars => '0-9A-Za-z\-_='
);
# encode and decode
$encoded = $cb->encode($data);
$decoded = $cb->decode($encoded);
EXPORT
Nothing. Instead of that, this module builds *transcoder object* for you
and you use its "decode" and "encode" methods to get the job done.
FUNCTIONS
new
Create the transcoder object.
# by name
base64_url: -_
base64_imap: +,
base64_ircu: []
for all predefined base 64 variants, "decode" accept ANY form of
those.
decode
Does decode
my $decoded = $cb->decode($data)
encode
Does encode.
# line folds every 76 octets, like MIME::Base64::encode
my $encoded = $cb->encode($data);
# no line folding (compatibile w/ MIME::Base64)
my $encoded = $cb->encode($data, "");
# line folding by CRLF, every 40 octets
my $encoded = $cb->encode($data, "\r\n", 40);
lib/Convert/BaseN.pm view on Meta::CPAN
my $cb = Convert::BaseN->new('base64');
my $cb = Convert::BaseN->new( name => 'base64' );
# or base
my $cb = Convert::BaseN->new( base => 64 );
my $cb_url = Convert::BaseN->new(
base => 64,
chars => '0-9A-Za-z\-_='
);
# encode and decode
$encoded = $cb->encode($data);
$decoded = $cb->decode($encoded);
=head1 EXPORT
Nothing. Instead of that, this module builds I<transcoder object> for
you and you use its C<decode> and C<encode> methods to get the job
done.
=head1 FUNCTIONS
=head2 new
lib/Convert/BaseN.pm view on Meta::CPAN
for all predefined base 64 variants, C<decode> accept ANY form of those.
=back
=back
=head2 decode
Does decode
my $decoded = $cb->decode($data)
=head2 encode
Does encode.
# line folds every 76 octets, like MIME::Base64::encode
my $encoded = $cb->encode($data);
# no line folding (compatibile w/ MIME::Base64)
my $encoded = $cb->encode($data, "");
# line folding by CRLF, every 40 octets
t/02-base64.t view on Meta::CPAN
#
# $Id: 02-base64.t,v 0.1 2008/06/16 17:34:27 dankogai Exp dankogai $
#
use strict;
use warnings;
use Test::More tests => 20;
#use Test::More qw/no_plan/;
use Convert::BaseN;
my $decoded = "\xFB\xFF\xBF";
my %encoded = (
base64 => '+/+/',
base64_url => '-_-_',
base64_imap => '+,+,',
base64_ircu => '[][]',
);
for my $name (sort keys %encoded){
my $cb = Convert::BaseN->new($name);
my $encoded = $encoded{$name};
is $cb->encode($decoded, ''), $encoded, qq($name: $encoded);
for my $to (sort keys %encoded){
my $b64 = Convert::BaseN->new($to);
is $b64->decode($encoded), $decoded, qq($name -> $to);
}
}
( run in 0.297 second using v1.01-cache-2.11-cpan-26ccb49234f )