This crate allows interacting with the data stored by [OsStr
] and
[OsString
], without resorting to panics or 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 OsStr::new(str::from_utf8(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.
Add the following lines to your "Cargo.toml" file:
toml
[dependencies]
os_str_bytes = "6.0"
See the [documentation] for available functionality and examples.
The minimum supported Rust toolchain version depends on the platform:
Target | Target Triple | Minimum Version |
---|---|---|
Fortanix | *-fortanix-*-sgx |
nightly (sgx_platform ) |
Unix | Unix | 1.52.0 |
WASI | *-wasi |
1.52.0 |
WebAssembly | wasm32-*-unknown |
1.52.0 |
Windows | *-windows-* |
1.52.0 |
Minor version updates may increase these version requirements. However, the previous two Rust releases will always be supported. If the minimum Rust version must not be increased, use a tilde requirement to prevent updating this crate's minor version:
toml
[dependencies]
os_str_bytes = "~6.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.