VERSION
$Id: BaseN.pm,v 0.1 2008/06/16 17:34:27 dankogai Exp dankogai $SYNOPSIS
  use Convert::BaseN;
  # by name
  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
  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\-_=' 
  );
You can pick the decoder by name or create your own by specifying base and character map.
- base
 - Must be 2, 4, 16, 32 or 64.
 - chars
 - 
Specifiles the character map.  The format is the same as "tr".
# DNA is coded that way. my $dna = Convert::BaseN->new( base => 4, chars => 'ACGT' );
 - padding
 - nopadding
 - 
Specifies if padding (adding '=' or other chars) is required when
encoding.  default is yes.
# url-safe Base64 my $b64url = Convert::BaseN->new( base => 64, chars => '0-9A-Za-z\-_=', padding => 0; ); - name
 - 
When specified, the following pre-defined encodings will be used.
- 
- base2
 - base 2 encoding. "perl" is 01110000011001010111001001101100.
 - base4
 - DNA
 - RNA
 - 
base 4 encodings. "perl" is:
base4: 1300121113021230 DNA: CTAACGCCCTAGCGTA RNA: GAUUGCGGGAUCGCAU
base 16 encoding. "perl" is "7065726c".
 - base32
 - base32hex
 - 
base 32 encoding mentioned in RFC4648.  "perl" is:
base32: OBSXE3A== base32hex: E1IN4R0==
 - base64
 - base64_url
 - base64_imap
 - base64_ircu
 - 
base 64 encoding, as in MIME::Base64.  They differ only in
characters to represent number 62 and 63 as follows.
base64: +/ 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);
AUTHOR
Dan Kogai, "<dankogai at dan.co.jp>"BUGS
Please report any bugs or feature requests to "bug-convert-basen at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Convert-BaseN>. 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::BaseN
You can also look for information at:
- RT: CPAN's request tracker
 - AnnoCPAN: Annotated CPAN documentation
 - CPAN Ratings
 - Search CPAN
 
ACKNOWLEDGEMENTS
N/ACOPYRIGHT & LICENSE
Copyright 2008 Dan Kogai, all rights reserved.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

