Trait std::os::windows::ffi::OsStrExt 1.0.0[−][src]
pub trait OsStrExt: Sealed { fn encode_wide(&self) -> EncodeWide<'_>ⓘ; }Notable traits for EncodeWide<'a>
impl<'a> Iterator for EncodeWide<'a> type Item = u16;
This is supported on Windows only.
Windows-specific extensions to OsStr
.
This trait is sealed: it cannot be implemented outside the standard library. This is so that future additional methods are not breaking changes.
Required methods
fn encode_wide(&self) -> EncodeWide<'_>ⓘNotable traits for EncodeWide<'a>
impl<'a> Iterator for EncodeWide<'a> type Item = u16;
[src]
Notable traits for EncodeWide<'a>
impl<'a> Iterator for EncodeWide<'a> type Item = u16;
Re-encodes an OsStr
as a wide character sequence, i.e., potentially
ill-formed UTF-16.
This is lossless: calling OsStringExt::from_wide
and then
encode_wide
on the result will yield the original code units.
Note that the encoding does not add a final null terminator.
Examples
use std::ffi::OsString; use std::os::windows::prelude::*; // UTF-16 encoding for "Unicode". let source = [0x0055, 0x006E, 0x0069, 0x0063, 0x006F, 0x0064, 0x0065]; let string = OsString::from_wide(&source[..]); let result: Vec<u16> = string.encode_wide().collect(); assert_eq!(&source[..], &result[..]);Run
Implementors
impl OsStrExt for OsStr
[src]
fn encode_wide(&self) -> EncodeWide<'_>ⓘNotable traits for EncodeWide<'a>
impl<'a> Iterator for EncodeWide<'a> type Item = u16;
[src]
Notable traits for EncodeWide<'a>
impl<'a> Iterator for EncodeWide<'a> type Item = u16;