Migrate 25 crates to monorepo. am: 036d93f4a0

Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/os_str_bytes/+/3247854

Change-Id: I397a5db3f6e01b8d55ee9311ec4de2a143c466db
Signed-off-by: Automerger Merge Worker <[email protected]>
tree: 0fa61ce8d46b47648ff5b05f66ad59a61ffb817c
  1. src/
  2. Android.bp
  3. Cargo.toml
  4. Cargo.toml.orig
  5. COPYRIGHT
  6. LICENSE-APACHE
  7. LICENSE-MIT
  8. METADATA
  9. MODULE_LICENSE_APACHE2
  10. OWNERS
  11. README.md
README.md

OsStr Bytes

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.

GitHub Build Status

Usage

Add the following lines to your “Cargo.toml” file:

[dependencies]
os_str_bytes = "6.4"

See the documentation for available functionality and examples.

Rust version support

The minimum supported Rust toolchain version depends on the platform:

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:

[dependencies]
os_str_bytes = "~6.4"

License

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.