Trait encoding::types::Encoding [] [src]

pub trait Encoding {
    fn name(&self) -> &'static str;
    fn raw_encoder(&self) -> Box<RawEncoder>;
    fn raw_decoder(&self) -> Box<RawDecoder>;

    fn whatwg_name(&self) -> Option<&'static str> { ... }
    fn encode(&self,
              input: &str,
              trap: EncoderTrap)
              -> Result<Vec<u8>, Cow<'static, str>> { ... } fn encode_to(&self,
                 input: &str,
                 trap: EncoderTrap,
                 ret: &mut ByteWriter)
                 -> Result<(), Cow<'static, str>> { ... } fn decode(&self,
              input: &[u8],
              trap: DecoderTrap)
              -> Result<String, Cow<'static, str>> { ... } fn decode_to(&self,
                 input: &[u8],
                 trap: DecoderTrap,
                 ret: &mut StringWriter)
                 -> Result<(), Cow<'static, str>> { ... } }

Character encoding.

Required Methods

Returns the canonical name of given encoding. This name is guaranteed to be unique across built-in encodings, but it is not normative and would be at most arbitrary.

Creates a new encoder.

Creates a new decoder.

Provided Methods

Returns a name of given encoding defined in the WHATWG Encoding standard, if any. This name often differs from name due to the compatibility reason.

An easy-to-use interface to RawEncoder. On the encoder error trap is called, which may return a replacement sequence to continue processing, or a failure to return the error.

Encode into a ByteWriter.

An easy-to-use interface to RawDecoder. On the decoder error trap is called, which may return a replacement string to continue processing, or a failure to return the error.

Decode into a StringWriter.

This does not handle partial characters at the beginning or end of input! Use RawDecoder for incremental decoding.

Implementors