#osstr #osstring #bytes #os_str #os_string


Traits for converting between byte sequences and platform-native strings

4 releases

✓ Uses Rust 2018 edition

new 0.1.3 Dec 6, 2019
0.1.2 Dec 1, 2019
0.1.1 Nov 30, 2019
0.1.0 Nov 28, 2019

#42 in FFI


207 lines

OsStr Bytes

Traits for converting between byte sequences and platform-native strings.

This crate allows interacting with the bytes stored internally by OsStr and OsString, without resorting to panics or data corruption for invalid UTF-8. Thus, methods can be used that are already defined on [u8] and Vec<u8>.

Typically, the only way to losslessly construct OsStr or OsString from a byte sequence is to use OsString::from(String::from(bytes)?), which requires the bytes to be valid in UTF-8. However, since this crate makes conversions directly between the platform encoding and raw bytes, even some strings invalid in UTF-8 can be converted.

GitHub Build Status


Add the following lines to your "Cargo.toml" file:

os_str_bytes = "0.1"

See the documentation for available functionality and examples.

Rust version support

The minimum supported Rust toolchain version is currently Rust 1.32.0.


Licensing terms are specified in COPYRIGHT.

Unless you explicitly state otherwise, any contribution submitted for inclusion in this crate, as defined in LICENSE-APACHE, shall be licensed according to COPYRIGHT, without any additional terms or conditions.

No runtime deps