pub trait Encoding {
// Required methods
fn name(&self) -> &'static str;
fn raw_encoder(&self) -> Box<dyn RawEncoder>;
fn raw_decoder(&self) -> Box<dyn RawDecoder>;
// Provided methods
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 dyn 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 dyn StringWriter,
) -> Result<(), Cow<'static, str>> { ... }
}Expand description
Character encoding.
Required Methods§
Sourcefn name(&self) -> &'static str
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.
Sourcefn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
Creates a new encoder.
Sourcefn raw_decoder(&self) -> Box<dyn RawDecoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
Creates a new decoder.
Provided Methods§
Sourcefn whatwg_name(&self) -> Option<&'static str>
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.
Sourcefn encode(
&self,
input: &str,
trap: EncoderTrap,
) -> Result<Vec<u8>, Cow<'static, str>>
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.
Sourcefn encode_to(
&self,
input: &str,
trap: EncoderTrap,
ret: &mut dyn ByteWriter,
) -> Result<(), Cow<'static, str>>
fn encode_to( &self, input: &str, trap: EncoderTrap, ret: &mut dyn ByteWriter, ) -> Result<(), Cow<'static, str>>
Encode into a dyn ByteWriter.
Sourcefn decode(
&self,
input: &[u8],
trap: DecoderTrap,
) -> Result<String, Cow<'static, str>>
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.
Sourcefn decode_to(
&self,
input: &[u8],
trap: DecoderTrap,
ret: &mut dyn StringWriter,
) -> Result<(), Cow<'static, str>>
fn decode_to( &self, input: &[u8], trap: DecoderTrap, ret: &mut dyn 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.
Trait Implementations§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".