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 |