pub struct IConv(/* private fields */);
Expand description
The GIConv struct wraps an iconv() conversion descriptor. It contains private data and should only be accessed using the following functions. The GIConv struct wraps an iconv() conversion descriptor. It contains private data and should only be accessed using the following functions.
Implementations§
Source§impl IConv
impl IConv
Sourcepub fn new(
to_codeset: impl IntoGStr,
from_codeset: impl IntoGStr,
) -> Option<Self>
pub fn new( to_codeset: impl IntoGStr, from_codeset: impl IntoGStr, ) -> Option<Self>
Same as the standard UNIX routine iconv_open(), but may be implemented via libiconv on UNIX flavors that lack a native implementation.
GLib provides g_convert() and g_locale_to_utf8() which are likely more convenient than the raw iconv wrappers.
§to_codeset
destination codeset
§from_codeset
source codeset
§Returns
a “conversion descriptor”, or (GIConv)-1 if opening the converter failed. Same as the standard UNIX routine iconv_open(), but may be implemented via libiconv on UNIX flavors that lack a native implementation.
GLib provides g_convert() and g_locale_to_utf8() which are likely more convenient than the raw iconv wrappers.
§to_codeset
destination codeset
§from_codeset
source codeset
§Returns
a “conversion descriptor”, or (GIConv)-1 if opening the converter failed.
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 g_convert() and g_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 g_iconv_open()
§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