...
Package idn
Package idn implements encoding from and to punycode as speficied by RFC 3492.
In the call graph viewer below, each node
is a function belonging to this package
and its children are the functions it
calls—perhaps dynamically.
The root nodes are the entry points of the
package: functions that may be called from
outside the package.
There may be non-exported or anonymous
functions among them if they are called
dynamically from another package.
Click a node to visit that function's source code.
From there you can visit its callers by
clicking its declaring func
token.
Functions may be omitted if they were
determined to be unreachable in the
particular programs or tests that were
analyzed.
func FromPunycode(s string) string
FromPunycode returns unicode domain name from provided punycode string.
This function expects punycode strings in lowercase.
▾ Example
Code:
name := "xn--mgbaja8a1hpac.xn--mgbachtv"
fmt.Printf("%s -> %s", name, idn.FromPunycode(name))
Output:
xn--mgbaja8a1hpac.xn--mgbachtv -> الانترنت.اختبار
func ToPunycode(s string) string
ToPunycode converts unicode domain names to DNS-appropriate punycode names.
This function will return an empty string result for domain names with
invalid unicode strings. This function expects domain names in lowercase.
▾ Example
Code:
name := "インターネット.テスト"
fmt.Printf("%s -> %s", name, idn.ToPunycode(name))
Output:
インターネット.テスト -> xn--eckucmux0ukc.xn--zckzah