Package idn implements encoding from and to punycode as speficied by RFC 3492.
Internal call graph ▹
Internal call graph ▾
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
Functions may be omitted if they were determined to be unreachable in the particular programs or tests that were analyzed.
func FromPunycode ¶
func FromPunycode(s string) string
FromPunycode returns unicode domain name from provided punycode string. This function expects punycode strings in lowercase.
name := "xn--mgbaja8a1hpac.xn--mgbachtv" fmt.Printf("%s -> %s", name, idn.FromPunycode(name))
xn--mgbaja8a1hpac.xn--mgbachtv -> الانترنت.اختبار
func ToPunycode ¶
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.
name := "インターネット.テスト" fmt.Printf("%s -> %s", name, idn.ToPunycode(name))
インターネット.テスト -> xn--eckucmux0ukc.xn--zckzah