Manpages - URI__punycode.3pm

Table of Contents



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

COPYRIGHT AND LICENSE

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

Author: dt

Created: 2022-02-20 Sun 20:05