22 releases (2 stable)

Uses old Rust 2015

1.1.0 Sep 18, 2022
1.0.0 Aug 26, 2019
0.9.3 Aug 26, 2019
0.9.2 Jul 7, 2019
0.0.1 Nov 27, 2014

#40 in Text processing

Download history 415261/week @ 2024-08-13 419556/week @ 2024-08-20 382908/week @ 2024-08-27 434180/week @ 2024-09-03 433426/week @ 2024-09-10 393222/week @ 2024-09-17 464563/week @ 2024-09-24 457637/week @ 2024-10-01 481054/week @ 2024-10-08 508543/week @ 2024-10-15 549456/week @ 2024-10-22 522001/week @ 2024-10-29 521916/week @ 2024-11-05 540609/week @ 2024-11-12 508138/week @ 2024-11-19 270243/week @ 2024-11-26

1,937,785 downloads per month
Used in 1,655 crates (84 directly)

Apache-2.0 OR MIT

145KB
3K SLoC

ascii

A library that provides ASCII-only string and character types, equivalent to the char, str and String types in the standard library.

Types and conversion traits are described in the Documentation.

You can include this crate in your cargo project by adding it to the dependencies section in Cargo.toml:

[dependencies]
ascii = "1.1"

Using ascii without libstd

Most of AsciiChar and AsciiStr can be used without std by disabling the default features. The owned string type AsciiString and the conversion trait IntoAsciiString as well as all methods referring to these types can be re-enabled by enabling the alloc feature.

Methods referring to CStr and CString are also unavailable. The Error trait also only exists in std, but description() is made available as an inherent method for ToAsciiCharError and AsAsciiStrError in #![no_std]-mode.

To use the ascii crate in #![no_std] mode in your cargo project, just add the following dependency declaration in Cargo.toml:

[dependencies]
ascii = { version = "1.1", default-features = false, features = ["alloc"] }

Minimum supported Rust version

The minimum Rust version for 1.1.* releases is 1.41.1. Later 1.y.0 releases might require newer Rust versions, but the three most recent stable releases at the time of publishing will always be supported.
For example this means that if the current stable Rust version is 1.70 when ascii 1.2.0 is released, then ascii 1.2.* will not require a newer Rust version than 1.68.

History

This package included the Ascii types that were removed from the Rust standard library by the 2014-12 reform of the std::ascii module. The API changed significantly since then.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~185KB