The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Encode::Bootstring - Encode and decode utf8 into a set of basic code points

VERSION

VERSION 0.03

SYNOPSIS

  $BS = new Encode::Bootstring(
      BASIC => ["a".."z", "A".."Z", "0".."9"],
      TMAX => 53,
      SKEW => 78,
      INITIAL_BIAS => 32,
      TMIN => 38,
      DAMP => 40,
      DELIMITER => '_',
  );

  $bootstring = $BS->encode($utf8);
  $utf8 = $BS->encode($bootstring);

DESCRIPTION

Punycode is a specific use of bootstring encoding; it encodes the larger code set to preprogrammed code set suitable for DNS names, such as ASCII characters and numbers. It also ignores casing of letters.

Bootstring on the other hand is the generalised concept and allows any code set to be encoded as any other smaller code set.

INTERFACE

All parameters are optional. Refer to RFC3492 for details of each parameter. The above parameters are suitable for encoding a variety of alphabets to ascii letters and numbers.

encode

  $encoded = $BS->encode( $raw );

Encodes raw data.

decode

  $original = $BS->decode( $encoded );

Decode bootstring encoded data.

AUTHOR

Soren Dossing, <netcom at sauber.net>

BUGS

Please report any bugs or feature requests to bug-encode-bootstring at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Encode-Bootstring. 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 Encode::Bootstring

You can also look for information at:

ACKNOWLEDGEMENTS

Adam M. Costello for punycode reference implementation, and for advice and review of this more generic module.

COPYRIGHT & LICENSE

Copyright 2009 Soren Dossing.

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.