encoding::types

Trait RawEncoder

Source
pub trait RawEncoder: 'static {
    // Required methods
    fn from_self(&self) -> Box<dyn RawEncoder>;
    fn raw_feed(
        &mut self,
        input: &str,
        output: &mut dyn ByteWriter,
    ) -> (usize, Option<CodecError>);
    fn raw_finish(&mut self, output: &mut dyn ByteWriter) -> Option<CodecError>;

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

Encoder converting a Unicode string into a byte sequence. This is a lower level interface, and normally Encoding::encode should be used instead.

Required Methods§

Source

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

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

Source

fn raw_feed( &mut self, input: &str, output: &mut dyn ByteWriter, ) -> (usize, Option<CodecError>)

Feeds given portion of string to the encoder, pushes the an encoded byte sequence at the end of the given output, and returns a byte offset to the first unprocessed character (that can be zero when the first such character appeared in the prior calls to raw_feed) and optional error information (None means success).

Source

fn raw_finish(&mut self, output: &mut dyn ByteWriter) -> Option<CodecError>

Finishes the encoder, pushes the an encoded byte sequence at the end of the given output, and returns optional error information (None means success). remaining value of the error information, if any, is always an empty string.

Provided Methods§

Source

fn is_ascii_compatible(&self) -> bool

Returns true if this encoding is compatible to ASCII, i.e. U+0000 through U+007F always map to bytes 00 through 7F and nothing else.

Implementors§