URI::_punycode - encodes Unicode string in Punycode

NAME  SYNOPSIS  DESCRIPTION  FUNCTIONS  encode_punycode  decode_punycode  AUTHOR  SEE ALSO  COPYRIGHT AND LICENSE 

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 <[email protected]> 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.


Updated 2024-01-29 - jenkler.se | uex.se