Trait encoding::types::DecoderExperimental
[-]
[+]
[src]
pub trait Decoder: 'static {
fn from_self(&self) -> Box<Decoder>;
fn raw_feed(&mut self, input: &[u8], output: &mut StringWriter) -> (uint, Option<CodecError>);
fn raw_finish(&mut self, output: &mut StringWriter) -> Option<CodecError>;
fn is_ascii_compatible(&self) -> bool { ... }
}Decoder converting a byte sequence into a Unicode string.
This is a lower level interface, and normally Encoding::decode should be used instead.
Required Methods
fn from_self(&self) -> Box<Decoder>
Creates a fresh Decoder instance which parameters are same as self.
fn raw_feed(&mut self, input: &[u8], output: &mut StringWriter) -> (uint, Option<CodecError>)
Feeds given portion of byte sequence to the encoder,
pushes the a decoded string at the end of the given output,
and returns an offset to the first unprocessed byte
(that can be zero when the first such byte appeared in the prior calls to raw_feed)
and optional error information (None means success).
fn raw_finish(&mut self, output: &mut StringWriter) -> Option<CodecError>
Finishes the decoder, pushes the a decoded string at the end of the given output, and returns optional error information (None means success).
Provided Methods
fn is_ascii_compatible(&self) -> bool
Returns true if this encoding is compatible to ASCII, i.e. bytes 00 through 7F always map to U+0000 through U+007F and nothing else.
Implementors
impl Decoder for ErrorDecoderimpl Decoder for ASCIIDecoderimpl Decoder for SingleByteDecoderimpl Decoder for UTF8Decoderimpl<E: Endian + Clone + 'static> Decoder for UTF16Decoder<E>impl Decoder for Windows949Decoderimpl Decoder for EUCJP0212Decoderimpl Decoder for Windows31JDecoderimpl Decoder for ISO2022JPDecoderimpl Decoder for GB18030Decoderimpl Decoder for HZDecoderimpl Decoder for BigFive2003HKSCS2008Decoder