# Trait os_str_bytes::OsStringBytes

source · [−]

    pub trait OsStringBytes: Sealed + Sized {
        fn assert_from_raw_vec(string: Vec<u8>) -> Self;
        fn from_raw_vec(string: Vec<u8>) -> Result<Self, EncodingError>;
        fn into_raw_vec(self) -> Vec<u8>;
    }

Expand description

A platform agnostic variant of `OsStringExt`.

For more information, see the module-level documentation.

## Required Methods

source

#### fn assert_from_raw_vec(string: Vec<u8>) -> Self

Converts a byte string into an equivalent platform-native string.

##### Panics

Panics if the string is not valid for the unspecified encoding used by this crate.

##### Examples

    use std::env;
    use std::ffi::OsString;

    use os_str_bytes::OsStringBytes;

    let os_string = env::current_exe()?;
    let os_bytes = os_string.clone().into_raw_vec();
    assert_eq!(os_string, OsString::assert_from_raw_vec(os_bytes));

source

#### fn from_raw_vec(string: Vec<u8>) -> Result<Self, EncodingError>

👎 Deprecated:

use `assert_from_raw_vec` instead, or enable the ‘checked_conversions’ feature

Converts a byte string into an equivalent platform-native string.

`assert_from_raw_vec` should almost always be used instead. For more information, see `EncodingError`.

##### Errors

See documentation for `EncodingError`.

##### Examples

    use std::env;
    use std::ffi::OsString;

    use os_str_bytes::OsStringBytes;

    let os_string = env::current_exe()?;
    let os_bytes = os_string.clone().into_raw_vec();
    assert_eq!(os_string, OsString::from_raw_vec(os_bytes).unwrap());

source

#### fn into_raw_vec(self) -> Vec<u8>

Converts a platform-native string into an equivalent byte string.

The returned string will use an unspecified encoding.

##### Examples

    use std::ffi::OsString;

    use os_str_bytes::OsStringBytes;

    let string = "foobar".to_owned();
    let os_string: OsString = string.clone().into();
    assert_eq!(string.into_bytes(), os_string.into_raw_vec());

## Implementations on Foreign Types

source

### impl OsStringBytes for OsString

source

#### fn assert_from_raw_vec(string: Vec<u8>) -> Self

source

#### fn from_raw_vec(string: Vec<u8>) -> Result<Self, EncodingError>

👎 Deprecated:

use `assert_from_raw_vec` instead, or enable the ‘checked_conversions’ feature

source

#### fn into_raw_vec(self) -> Vec<u8>

source

### impl OsStringBytes for PathBuf

source

#### fn assert_from_raw_vec(string: Vec<u8>) -> Self

source

#### fn from_raw_vec(string: Vec<u8>) -> Result<Self, EncodingError>

👎 Deprecated:

use `assert_from_raw_vec` instead, or enable the ‘checked_conversions’ feature

source

#### fn into_raw_vec(self) -> Vec<u8>

## Implementors