This package provides an implementation of the punycode scheme used in Internationalised Domain Names,
and some access commands. (See RFC 3492 for a description of punycode.)
tcl::idnadecodehostname
This command takes the name of a host that potentially contains punycode-encoded character
sequences, hostname, and returns the hostname as might be displayed to the user. Note that there
are often UNICODE characters that have extremely similar glyphs, so care should be taken with
displaying hostnames to users.
tcl::idnaencodehostname
This command takes the name of a host as might be displayed to the user, hostname, and returns the
version of the hostname with characters not permitted in basic hostnames encoded with punycode.
tcl::idnapunysubcommand...
This command provides direct access to the basic punycode encoder and decoder. It supports two
subcommands:
tcl::idnapunydecodestring ?case?
This command decodes the punycode-encoded string, string, and returns the result. If case
is provided, it is a boolean to make the case be folded to upper case (if case is true) or
lower case (if case is false) during the decoding process; if omitted, no case
transformation is applied.
tcl::idnapunyencodestring ?case?
This command encodes the string, string, and returns the punycode-encoded version of the
string. If case is provided, it is a boolean to make the case be folded to upper case (if
case is true) or lower case (if case is false) during the encoding process; if omitted, no
case transformation is applied.
tcl::idnaversion
This returns the version of the tcl::idna package.