GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  NET::IDN::PUNYCODE (3)

.ds Aq ’

NAME

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

CONTENTS

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 internationalised 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 prepration, 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 valiad domain names to a different but equivalent Unicode normalisation 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
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 NET::IDN::PUNYCODE (3) 2016-03-17

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.