Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Net::IDN::Punycode(3) User Contributed Perl DocumentationNet::IDN::Punycode(3)

NAME
       Net::IDN::Punycode - A Bootstring encoding of Unicode for IDNA
       (RFC 3492)

SYNOPSIS
	 use Net::IDN::Punycode	qw(:all);
	 $punycode = encode_punycode($unicode);
	 $unicode  = decode_punycode($punycode);

DESCRIPTION
       This module implements the Punycode encoding, and only the Punycode
       encoding.

       This module does	not implement any other	steps required for converting
       internationalized domain	names (IDNs) to	and from ASCII.	In particular,
       it does not do any string preparation as	specified by
       Nameprep/IDNA2008/PRECIS	and does not add nor remove the	ACE prefix
       ("xn--"). Thus, use Net::IDN::Encode if you want	to convert domain
       names.

       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.

WARNING
       You may be tempted to use this module directly and add/remove the ACE
       prefix ("xn--") in your code for	performance reasons. Usually, this is
       not a good idea.	 If you	convert	domain labels (or other	strings)
       without proper preparation, you may end up with an ASCII	encoding that
       is not interoperable or even poses security issues due to spoofing.

       Even if you think that your domain names	are valid and already mapped
       to the correct form, this may not be true. For example, some
       environments might automatically	convert	your perfectly valid domain
       names to	a different but	equivalent Unicode normalization form (e.g.,
       NFD instead of NFC), which already breaks IDNA.

FUNCTIONS
       No functions are	exported by default. You can use the tag ":all"	or
       import them individually.

       The following functions are available:

       encode_punycode($input)
	   Encodes $input with Punycode	and returns the	result.

	   This	function will throw an exception on invalid/unencodable	input.

       decode_punycode($input)
	   Decodes $input with Punycode	and returns the	result.

	   This	function will throw an exception on invalid input.

AUTHORS
       Tatsuhiko Miyagawa <miyagawa@bulknews.net> (versions 0.01 to 0.02)

       Claus Faerber <CFAERBER@cpan.org> (versions 1.000 and higher)

LICENSE
       Copyright 2002-2004 Tatsuhiko Miyagawa <miyagawa@bulknews.net>

       Copyright 2007-2014 Claus Faerber <CFAERBER@cpan.org>

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

SEE ALSO
       RFC 3492	(<http://www.ietf.org/rfc/rfc3492.txt>), IETF::ACE,
       Convert::RACE

perl v5.32.1			  2021-02-28		 Net::IDN::Punycode(3)

NAME | SYNOPSIS | DESCRIPTION | WARNING | FUNCTIONS | AUTHORS | LICENSE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Net::IDN::Punycode&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help