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
fn name(&self) -> &'static str
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.
fn raw_encoder(&self) -> Box<RawEncoder>
Creates a new encoder.
fn raw_decoder(&self) -> Box<RawDecoder>
Creates a new decoder.
Provided Methods
fn whatwg_name(&self) -> Option<&'static str>
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.
fn encode(&self, input: &str, trap: EncoderTrap) -> Result<Vec<u8>, Cow<'static, str>>
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.
fn encode_to(&self, input: &str, trap: EncoderTrap, ret: &mut ByteWriter) -> Result<(), Cow<'static, str>>
Encode into a ByteWriter
.
fn decode(&self, input: &[u8], trap: DecoderTrap) -> Result<String, Cow<'static, str>>
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.
fn decode_to(&self, input: &[u8], trap: DecoderTrap, ret: &mut StringWriter) -> Result<(), Cow<'static, str>>
Decode into a StringWriter
.
This does not handle partial characters at the beginning or end of input
!
Use RawDecoder
for incremental decoding.
Implementors
impl Encoding for ErrorEncoding
impl Encoding for ASCIIEncoding
impl Encoding for SingleByteEncoding
impl Encoding for UTF8Encoding
impl<E: Endian> Encoding for UTF16Encoding<E>
impl Encoding for Windows949Encoding
impl Encoding for EUCJPEncoding
impl Encoding for Windows31JEncoding
impl Encoding for ISO2022JPEncoding
impl<T: GBType> Encoding for GBEncoding<T>
impl Encoding for HZEncoding
impl Encoding for BigFive2003Encoding
impl Encoding for EncoderOnlyUTF8Encoding