URI::_punycode(3pm) User Contributed Perl Documentation URI::_punycode(3pm)
NAME
URI::_punycode - encodes Unicode string in Punycode
SYNOPSIS
use strict;
use warnings;
use utf8;
use URI::_punycode qw(encode_punycode decode_punycode);
# encode a unicode string
my $punycode = encode_punycode('http://☃.net'); # http://.net-xc8g
$punycode = encode_punycode('bücher'); # bcher-kva
$punycode = encode_punycode('他们为什么不说中文'); # ihqwcrb4cv8a8dqg056pqjye
# decode a punycode string back into a unicode string
my $unicode = decode_punycode('http://.net-xc8g'); # http://☃.net
$unicode = decode_punycode('bcher-kva'); # bücher
$unicode = decode_punycode('ihqwcrb4cv8a8dqg056pqjye'); # 他们为什么不说中文
DESCRIPTION
URI::_punycode is a module to encode / decode Unicode strings into
Punycode <https://tools.ietf.org/html/rfc3492>, an efficient encoding of
Unicode for use with IDNA <https://tools.ietf.org/html/rfc5890>.
FUNCTIONS
All functions throw exceptions on failure. You can "catch" them with
Syntax::Keyword::Try or Try::Tiny. The following functions are exported
by default.
encode_punycode
my $punycode = encode_punycode('http://☃.net'); # http://.net-xc8g
$punycode = encode_punycode('bücher'); # bcher-kva
$punycode = encode_punycode('他们为什么不说中文') # ihqwcrb4cv8a8dqg056pqjye
Takes a Unicode string (UTF8-flagged variable) and returns a Punycode
encoding for it.
decode_punycode
my $unicode = decode_punycode('http://.net-xc8g'); # http://☃.net
$unicode = decode_punycode('bcher-kva'); # bücher
$unicode = decode_punycode('ihqwcrb4cv8a8dqg056pqjye'); # 他们为什么不说中文
Takes a Punycode encoding and returns original Unicode string.
AUTHOR
Tatsuhiko Miyagawa <miyagawa@bulknews.net> is the author of
IDNA::Punycode which was the basis for this module.
SEE ALSO
IDNA::Punycode, RFC 3492 <https://tools.ietf.org/html/rfc3492>, RFC 5891
<https://tools.ietf.org/html/rfc5891>
COPYRIGHT AND LICENSE
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
perl v5.38.2 2024-10-09 URI::_punycode(3pm)
Generated by dwww version 1.16 on Tue Dec 16 05:49:45 CET 2025.