Trait encoding::types::EncoderExperimental
[-]
[+]
[src]
pub trait Encoder: 'static {
fn from_self(&self) -> Box<Encoder>;
fn raw_feed(&mut self, input: &str, output: &mut ByteWriter) -> (uint, Option<CodecError>);
fn raw_finish(&mut self, output: &mut ByteWriter) -> Option<CodecError>;
fn is_ascii_compatible(&self) -> bool { ... }
}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
fn from_self(&self) -> Box<Encoder>
Creates a fresh Encoder instance which parameters are same as self.
fn raw_feed(&mut self, input: &str, output: &mut ByteWriter) -> (uint, 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).
fn raw_finish(&mut self, output: &mut 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
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
impl Encoder for ErrorEncoderimpl Encoder for ASCIIEncoderimpl Encoder for SingleByteEncoderimpl Encoder for UTF8Encoderimpl<E: Endian + Clone + 'static> Encoder for UTF16Encoder<E>impl Encoder for Windows949Encoderimpl Encoder for EUCJPEncoderimpl Encoder for Windows31JEncoderimpl Encoder for ISO2022JPEncoderimpl Encoder for GB18030Encoderimpl Encoder for HZEncoderimpl Encoder for BigFive2003Encoder