NAME

Encode::Punycode - Encode plugin for Punycode (RFC 3492)

SYNOPSIS

use Encode; use Encode::Punycode;

$unicode  = decode('Punycode', $punycode);
$punycode = encode('Punycode', $unicode);

DESCRIPTION

Encode::Punycode is an Encode plugin, which implements the Punycode encoding.

This module provides an Encode interface for the Punycode encoding, which is defined in RFC 3492. This is not very useful because Punycode is a special-purpose encoding that is limited to fairly short strings. Please consider using Net::IDN::Punycode directly, or even Net::IDN::Encode.

Punycode is an instance of a more general algorithm called Bootstring, which allows strings composed from a small set of "basic" code points to uniquely represent any string of code points drawn from a larger set. Punycode is Bootstring with particular parameter values appropriate for IDNA. For a more generic (but less efficient) Bootstring implementation, see Encode::Bootstring.

PLEASE NOTE: This module does not do any string preparation or mappings as specified by Nameprep. It does not do add any prefix or suffix, either. For higher-level handling of full Internationalised Domain Names, see Net::IDN::Encode.

AUTHOR

Claus Färber <CFAERBER@cpan.org>

Previous versions written by Tatsuhiko Miyagawa <miyagawa@bulknews.net>

COPYRIGHT

Copyright 2007-2016 Claus Färber.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Encode, Net::IDN::Punycode, RFC 3492 (http://www.ietf.org/rfc/rfc3492.txt)