#unix #str #string

no-std unix_str

Unix-compatible strings regardless of platform

1 stable release

1.0.0 Aug 3, 2020

#295 in No standard library

Download history 605/week @ 2023-10-16 625/week @ 2023-10-23 591/week @ 2023-10-30 574/week @ 2023-11-06 485/week @ 2023-11-13 827/week @ 2023-11-20 634/week @ 2023-11-27 829/week @ 2023-12-04 780/week @ 2023-12-11 577/week @ 2023-12-18 429/week @ 2023-12-25 1138/week @ 2024-01-01 838/week @ 2024-01-08 1046/week @ 2024-01-15 1125/week @ 2024-01-22 1146/week @ 2024-01-29

4,216 downloads per month
Used in 10 crates (via unix_path)




Unix-compatible strings regardless of platform, including #![no_std] environents. This crate is extracted from std.


  • shrink_to: implements the unstable shrink_to method;
  • unixstring_ascii: ASCII transformations, std's unstable feature;
  • toowned_clone_into: implements ToOwned::clone_into, an unstable method;
  • alloc: implements UnixString and transformations with Box, Rc and Arc;
  • std: an alias for alloc.


Licensed under either of

at your option.


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.


Strings that are compatible wuth Unix-like operating systems.

  • UnixString and UnixStr are useful when you need to with Unix strings. Conversions between UnixString, UnixStr and Rust strings work similarly to those for CString and CStr.

  • UnixString represents an owned string in Unix's preferred representation.

  • UnixStr represents a borrowed reference to a string in a format that can be passed to a Unix-lie operating system. It can be converted into a UTF-8 Rust string slice in a similar way to UnixString.


UnixStr implements two methods, from_bytes and as_bytes. These do inexpensive conversions from and to UTF-8 byte slices.

Additionally, UnixString provides from_vec and into_vec methods that consume their arguments, and take or produce vectors of [u8].

No runtime deps