Name Description Size
IdnaMappingTable.txt 845090
lib.rs This Rust crate implements IDNA [per the WHATWG URL Standard](https://url.spec.whatwg.org/#idna). It also exposes the underlying algorithms from [*Unicode IDNA Compatibility Processing* (Unicode Technical Standard #46)](http://www.unicode.org/reports/tr46/) and [Punycode (RFC 3492)](https://tools.ietf.org/html/rfc3492). Quoting from [UTS #46’s introduction](http://www.unicode.org/reports/tr46/#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 transformation > into 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 period > as registries shift from IDNA2003 to IDNA2008. > This document specifies a mechanism > that minimizes the impact of this transition for client software, > allowing client software to access domains that are valid under either system. 3362
make_uts46_mapping_table.py \ // Copyright 2013-2020 The rust-url developers. // // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your // option. This file may not be copied, modified, or distributed // except according to those terms. // Generated by make_idna_table.py 5679
punycode.rs Punycode ([RFC 3492](http://tools.ietf.org/html/rfc3492)) implementation. Since Punycode fundamentally works on unicode code points, `encode` and `decode` take and return slices and vectors of `char`. `encode_str` and `decode_to_string` provide convenience wrappers that convert from and to Rust’s UTF-8 based `str` and `String` types. 10309
uts46.rs [*Unicode IDNA Compatibility Processing* (Unicode Technical Standard #46)](http://www.unicode.org/reports/tr46/) 21990
uts46_mapping_table.rs 634039