pub struct GB18030Encoding;Expand description
GB 18030.
The original GBK 1.0 region spans [81-FE] [40-7E 80-FE], and is derived from
several different revisions of a family of encodings named “GBK”:
-
GBK as specified in the normative annex of GB 13000.1-93, the domestic standard equivalent to Unicode 1.1, consisted of characters included in Unicode 1.1 and not in GB 2312-80.
-
Windows code page 936 is the widespread extension to GBK.
-
Due to the popularity of Windows code page 936, a formal encoding based on Windows code page 936 (while adding new characters) was standardized into GBK 1.0.
-
Finally, GB 18030 added four-byte sequences to GBK for becoming a pan-Unicode encoding, while adding new characters to the (former) GBK region again.
GB 18030-2005 is a simplified Chinese encoding which extends GBK 1.0 to a pan-Unicode encoding. It assigns four-byte sequences to every Unicode codepoint missing from the GBK area, lexicographically ordered with occasional “gaps” for codepoints in the GBK area. Due to this compatibility decision, there is no simple relationship between these four-byte sequences and Unicode codepoints, though there exists a relatively simple mapping algorithm with a small lookup table.
Trait Implementations§
Source§impl Clone for GB18030Encoding
impl Clone for GB18030Encoding
Source§fn clone(&self) -> GB18030Encoding
fn clone(&self) -> GB18030Encoding
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Encoding for GB18030Encoding
impl Encoding for GB18030Encoding
Source§fn name(&self) -> &'static str
fn name(&self) -> &'static str
Source§fn whatwg_name(&self) -> Option<&'static str>
fn whatwg_name(&self) -> Option<&'static str>
name due to the compatibility reason.Source§fn raw_encoder(&self) -> Box<dyn RawEncoder>
fn raw_encoder(&self) -> Box<dyn RawEncoder>
Source§fn raw_decoder(&self) -> Box<dyn RawDecoder>
fn raw_decoder(&self) -> Box<dyn RawDecoder>
Source§fn 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>>
RawEncoder.
On the encoder error trap is called,
which may return a replacement sequence to continue processing,
or a failure to return the error.Source§fn 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>>
dyn ByteWriter.