#[repr(transparent)]pub struct IConv(_);
Implementations§
source§impl IConv
impl IConv
pub fn new( to_codeset: impl IntoGStr, from_codeset: impl IntoGStr ) -> Option<Self>
pub fn convert(&mut self, str_: &[u8]) -> Result<(Slice<u8>, usize), CvtError>
sourcepub fn iconv(
&mut self,
inbuf: Option<&[u8]>,
outbuf: Option<&mut [MaybeUninit<u8>]>
) -> Result<(usize, usize, usize), IConvError>
pub fn iconv( &mut self, inbuf: Option<&[u8]>, outbuf: Option<&mut [MaybeUninit<u8>]> ) -> Result<(usize, usize, usize), IConvError>
Same as the standard UNIX routine iconv()
, but
may be implemented via libiconv on UNIX flavors that lack
a native implementation.
GLib provides convert()
and locale_to_utf8()
which are likely
more convenient than the raw iconv wrappers.
Note that the behaviour of iconv()
for characters which are valid in the
input character set, but which have no representation in the output character
set, is implementation defined. This function may return success (with a
positive number of non-reversible conversions as replacement characters were
used), or it may return -1 and set an error such as EILSEQ
, in such a
situation.
converter
conversion descriptor from IConv::new()
inbuf
bytes to convert
inbytes_left
inout parameter, bytes remaining to convert in inbuf
outbuf
converted output bytes
outbytes_left
inout parameter, bytes available to fill in outbuf
Returns
count of non-reversible conversions, or -1 on error