Expand description
This Rust crate implements IDNAper the WHATWG URL Standard.
It also exposes the underlying algorithms fromUnicode IDNA Compatibility Processing(Unicode Technical Standard #46)andPunycode (RFC 3492).
Quoting fromUTS #46’s introduction:
Initially, domain names were restricted to ASCII characters.A system was introduced in 2003 for internationalized domain names (IDN).This system is called Internationalizing Domain Names for Applications,or IDNA2003 for short.This mechanism supports IDNs by means of a client software transformationinto a format known as Punycode.A revision of IDNA was approved in 2010 (IDNA2008).This revision has a number of incompatibilities with IDNA2003.
The incompatibilities force implementers of client software,such as browsers and emailers,to face difficult choices during the transition periodas registries shift from IDNA2003 to IDNA2008.This document specifies a mechanismthat minimizes the impact of this transition for client software,allowing client software to access domains that are valid under either system.
Re-exports§
pub use uts46::AsciiDenyList;
Modules§
- punycode
- Punycode (RFC 3492) implementation.
- uts46
- This module provides the lower-level API for UTS 46.
Structs§
- Config
Deprecated - Deprecated configuration API.
- Errors
- Type indicating that there were errors during UTS #46 processing.
- Idna
Deprecated - Deprecated. Use the crate-top-level functions or
Uts46
.
Functions§
- domain_
to_ ascii - Thedomain to ASCII algorithm;version returning
String
and no ASCII deny list (i.e.UseSTD3ASCIIRules=false). - domain_
to_ ascii_ cow - Thedomain to ASCII algorithm;version returning a
Cow
. - domain_
to_ ascii_ strict - Thedomain to ASCII algorithm,with the
beStrict
flag set. - domain_
to_ unicode - Thedomain to Unicode algorithm;version returning
String
and no ASCII deny list (i.e.UseSTD3ASCIIRules=false).