encoding::types

Trait RawDecoder

Source
pub trait RawDecoder: 'static {
    // Required methods
    fn from_self(&self) -> Box<dyn RawDecoder>;
    fn raw_feed(
        &mut self,
        input: &[u8],
        output: &mut dyn StringWriter,
    ) -> (usize, Option<CodecError>);
    fn raw_finish(
        &mut self,
        output: &mut dyn StringWriter,
    ) -> Option<CodecError>;

    // Provided method
    fn is_ascii_compatible(&self) -> bool { ... }
}
Expand description

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§

Source

fn from_self(&self) -> Box<dyn RawDecoder>

Creates a fresh RawDecoder instance which parameters are same as self.

Source

fn raw_feed( &mut self, input: &[u8], output: &mut dyn StringWriter, ) -> (usize, 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).

Source

fn raw_finish(&mut self, output: &mut dyn 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§

Source

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§