diff --git a/benches/benchmarks.rs b/benches/benchmarks.rs index 3288a9f..84bd9e7 100644 --- a/benches/benchmarks.rs +++ b/benches/benchmarks.rs @@ -137,6 +137,12 @@ fn bench(c: &mut Criterion) { decode_checked(c, "decode_checked/ascii", sizes, sample_ascii_bytes); decode_checked(c, "decode_checked/extended", sizes, sample_extended_bytes); decode_lossy(c, "decode_lossy/all_bad", sizes, all_bad_bytes); + decode_lossy( + c, + "decode_lossy/mostly_ascii", + sizes, + sample_mostly_ascii_bytes, + ); encode_checked( c, diff --git a/codegen/src/codegen_helper.rs b/codegen/src/codegen_helper.rs index 0df0621..a907ca9 100644 --- a/codegen/src/codegen_helper.rs +++ b/codegen/src/codegen_helper.rs @@ -11,7 +11,7 @@ use crate::UnicodeMapping; use anyhow::Result; use self::{ - decoder::{build_complete_decode_table, build_incomplete_decode_table}, + decoder::{build_complete_decode_table, build_incomplete_decode_table, build_incomplete_lossy_decode_table}, encoder::build_encoder_internal, }; @@ -35,12 +35,6 @@ pub fn generate_code(name: &str, definition: UnicodeMapping) -> Result { include_str!("codegen_helper/templates/incomplete.rs") }; - let table = if is_complete { - build_complete_decode_table(definition) - } else { - build_incomplete_decode_table(definition) - }; - let is_non_ascii = definition .iter() .take(128) @@ -53,15 +47,27 @@ pub fn generate_code(name: &str, definition: UnicodeMapping) -> Result { "decode_helper" }; + let mut replaced_template = template + .replace("CODERSTRUCT", name) + .replace("decode_helper", decode_helper_name); + + if is_complete { + let table = build_complete_decode_table(definition); + replaced_template = replaced_template.replace("PLACEHOLDER_TABLE", &table); + } else { + let table = build_incomplete_decode_table(definition.clone()); + let lossy_table = build_incomplete_lossy_decode_table(definition); + replaced_template = replaced_template + .replace("PLACEHOLDER_TABLE", &table) + .replace("PLACEHOLDER_LOSSY_TABLE", &lossy_table); + } + let code = format!( "//! Code autogenerated from \n\ //! See binary codegen crate\n\ {}\n\ {}", - template - .replace("PLACEHOLDER_TABLE", &table) - .replace("CODERSTRUCT", name) - .replace("decode_helper", decode_helper_name), + replaced_template, coder.to_string(), ); diff --git a/codegen/src/codegen_helper/decoder.rs b/codegen/src/codegen_helper/decoder.rs index fdb156d..c1857b5 100644 --- a/codegen/src/codegen_helper/decoder.rs +++ b/codegen/src/codegen_helper/decoder.rs @@ -1,42 +1,78 @@ use crate::UnicodeMapping; +fn encode_char(c: char, buffer: &mut [u8; 4]) -> (&[u8], usize) { + let encoded = c.encode_utf8(buffer).as_bytes(); + (encoded, encoded.len()) +} + +fn format_bytes(encoded: &[u8]) -> String { + format!( + "[{:#04X}, {:#04X}, {:#04X}]", + encoded[0], + encoded.get(1).unwrap_or(&0), + encoded.get(2).unwrap_or(&0), + ) +} + +fn format_complete_entry(c: char, buffer: &mut [u8; 4]) -> String { + let (encoded, len) = encode_char(c, buffer); + format!( + "CompleteEntry{{buf: {}, len: {}}},\n", + format_bytes(encoded), + len + ) +} + +/// Build CompleteEntry table. If `replacement` is Some, use it for None entries. +fn build_complete_table(definition: UnicodeMapping, replacement: Option) -> String { + let mut res = "[\n".to_owned(); + let mut buffer = [0u8; 4]; + + for c in definition { + let entry = match c.or(replacement) { + Some(c) => format_complete_entry(c, &mut buffer), + None => panic!("Complete codepage should not have None entries"), + }; + res.push_str(&entry); + } + res.push(']'); + res +} + pub fn build_complete_decode_table(definition: UnicodeMapping) -> String { - build_decode_table(definition, false) + build_complete_table(definition, None) } -pub fn build_incomplete_decode_table(definition: UnicodeMapping) -> String { - build_decode_table(definition, true) +pub fn build_incomplete_lossy_decode_table(definition: UnicodeMapping) -> String { + build_complete_table(definition, Some('\u{FFFD}')) } -fn build_decode_table(definition: UnicodeMapping, is_incomplete: bool) -> String { +fn len_to_variant(len: usize) -> &'static str { + match len { + 1 => "IncompleteLen::One", + 2 => "IncompleteLen::Two", + 3 => "IncompleteLen::Three", + _ => panic!("Invalid UTF8 length"), + } +} + +pub fn build_incomplete_decode_table(definition: UnicodeMapping) -> String { let mut res = "[\n".to_owned(); let mut buffer = [0u8; 4]; + for c in definition { - let arm = c.map_or("None,\n".to_owned(), |c| { - let encoded_byte = c.encode_utf8(&mut buffer).as_bytes(); - let len = encoded_byte.len(); - let formatted_bytes = format!( - "[{:#2X}, {:#2X}, {:#2X}]", - encoded_byte[0], - encoded_byte.get(1).unwrap_or(&0), - encoded_byte.get(2).unwrap_or(&0) - ); - let len_str = match len { - 1 => "UTF8Len::One", - 2 => "UTF8Len::Two", - 3 => "UTF8Len::Three", - _ => panic!("Invalid length"), - }; - if is_incomplete { + let entry = match c { + Some(c) => { + let (encoded, len) = encode_char(c, &mut buffer); format!( - "Some(UTF8Entry{{buf: {}, len: {}}}),\n", - formatted_bytes, len_str + "Some(IncompleteEntry{{buf: {}, len: {}}}),\n", + format_bytes(encoded), + len_to_variant(len) ) - } else { - format!("UTF8Entry{{buf: {}, len: {}}},\n", formatted_bytes, len_str) } - }); - res.push_str(&arm); + None => "None,\n".to_owned(), + }; + res.push_str(&entry); } res.push(']'); res diff --git a/codegen/src/codegen_helper/templates/complete.rs b/codegen/src/codegen_helper/templates/complete.rs index 1b1afd2..8681a4f 100644 --- a/codegen/src/codegen_helper/templates/complete.rs +++ b/codegen/src/codegen_helper/templates/complete.rs @@ -1,7 +1,7 @@ use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; diff --git a/codegen/src/codegen_helper/templates/incomplete.rs b/codegen/src/codegen_helper/templates/incomplete.rs index 4ba5654..b5dc6ea 100644 --- a/codegen/src/codegen_helper/templates/incomplete.rs +++ b/codegen/src/codegen_helper/templates/incomplete.rs @@ -1,7 +1,12 @@ use std::borrow::Cow; use crate::{ - decoder::{self, incomplete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{ + self, + complete::decode_helper as decode_helper_lossy, + incomplete::decode_helper, + CompleteEntry, IncompleteEntry, IncompleteLen, + }, encoder::Encoder, CodePage, DecodeError, EncodeError, }; @@ -36,7 +41,7 @@ impl CODERSTRUCT { /// ``` #[inline(always)] pub fn decode_lossy(self, bytes: &[u8]) -> Cow<'_, str> { - decode_helper(&DECODE_TABLE, bytes, Some('�')).unwrap() + decode_helper_lossy(&DECODE_TABLE_LOSSY, bytes) } /// Decode CODERSTRUCT byte-encoding into UTF-8 string @@ -117,3 +122,4 @@ impl CodePage for CODERSTRUCT { } const DECODE_TABLE: decoder::incomplete::Table = PLACEHOLDER_TABLE; +const DECODE_TABLE_LOSSY: decoder::complete::Table = PLACEHOLDER_LOSSY_TABLE; diff --git a/src/code_pages/cp1250.rs b/src/code_pages/cp1250.rs index 04c636c..1a034e4 100644 --- a/src/code_pages/cp1250.rs +++ b/src/code_pages/cp1250.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP1250 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x81, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x83, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x88, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xB0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA0, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xB9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x90, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x98, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x84, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA1, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xBA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCB, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCB, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCB, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCB, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCB, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x99, 0x00], + len: 2, }, ]; impl Encoder for CP1250 { diff --git a/src/code_pages/cp1251.rs b/src/code_pages/cp1251.rs index 2aff4ea..de88a05 100644 --- a/src/code_pages/cp1251.rs +++ b/src/code_pages/cp1251.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP1251 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD0, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x83, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD1, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x93, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xB0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD0, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x89, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xB9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD0, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x92, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x98, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x84, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD1, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x99, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xBA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD1, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD2, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD2, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD2, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD2, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x91, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x84, 0x96], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD1, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8F, 0x00], + len: 2, }, ]; impl Encoder for CP1251 { diff --git a/src/code_pages/cp1252.rs b/src/code_pages/cp1252.rs index e4f3a9e..a2ab223 100644 --- a/src/code_pages/cp1252.rs +++ b/src/code_pages/cp1252.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP1252 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x81, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC6, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCB, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x86, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xB0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA0, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xB9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x90, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCB, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x9C, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x84, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA1, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xBA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBF, 0x00], + len: 2, }, ]; impl Encoder for CP1252 { diff --git a/src/code_pages/cp1253.rs b/src/code_pages/cp1253.rs index 8e1aeb7..c3647e3 100644 --- a/src/code_pages/cp1253.rs +++ b/src/code_pages/cp1253.rs @@ -2,7 +2,10 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, incomplete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{ + self, complete::decode_helper as decode_helper_lossy, incomplete::decode_helper, + CompleteEntry, IncompleteEntry, IncompleteLen, + }, encoder::Encoder, CodePage, DecodeError, EncodeError, }; impl CP1253 { @@ -34,7 +37,7 @@ impl CP1253 { /// ``` #[inline(always)] pub fn decode_lossy(self, bytes: &[u8]) -> Cow<'_, str> { - decode_helper(&DECODE_TABLE, bytes, Some('�')).unwrap() + decode_helper_lossy(&DECODE_TABLE_LOSSY, bytes) } /// Decode CP1253 byte-encoding into UTF-8 string /// @@ -111,1022 +114,2048 @@ impl CodePage for CP1253 { } } const DECODE_TABLE: decoder::incomplete::Table = [ - Some(UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x00, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x01, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x02, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x03, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x04, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x05, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x06, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x07, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x08, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x09, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x10, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x11, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x12, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x13, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x14, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x15, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x16, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x17, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x18, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x19, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x20, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x21, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x22, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x23, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x24, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x25, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x26, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x27, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x28, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x29, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x30, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x31, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x32, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x33, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x34, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x35, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x36, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x37, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x38, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x39, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x40, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x41, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x42, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x43, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x44, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x45, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x46, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x47, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x48, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x49, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x50, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x51, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x52, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x53, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x54, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x55, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x56, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x57, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x58, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x59, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x60, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x61, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x62, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x63, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x64, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x65, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x66, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x67, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x68, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x69, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x70, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x71, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x72, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x73, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x74, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x75, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x76, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x77, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x78, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x79, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x82, 0xAC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x81, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x81, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9A], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC6, 0x92, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9E], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA6], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA1], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x88, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x88, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xB0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x8A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xB9], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x8C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x8D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x8E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x8F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x90, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x90, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x98], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x99], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA2], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x93], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x94], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x98, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x98, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x84, 0xA2], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x9A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xBA], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x9C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x85, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x85, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x86, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x86, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: IncompleteLen::Two, }), None, - Some(UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x95], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x84, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x84, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x88, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x88, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x89, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x89, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x8A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x8A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x8C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x8C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x8E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x8E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x8F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x8F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x90, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x90, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x91, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x91, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x92, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x92, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x93, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x93, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x94, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x94, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x95, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x95, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x96, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x96, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x97, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x97, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x98, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x98, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x99, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x99, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x9A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x9A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x9B, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x9B, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x9C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x9C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x9D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x9D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x9E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x9E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x9F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x9F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA1, 0x00], + len: IncompleteLen::Two, }), None, - Some(UTF8Entry { - buf: [0xCE, 0xA3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xAA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xAA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xAB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xAB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xAC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xAC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xAD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xAD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xAE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xAE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xAF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xAF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xBA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xBA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xBB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xBB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xBC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xBC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xBD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xBD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xBE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xBE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xBF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xBF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x80, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x80, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x81, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x81, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x82, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x82, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x83, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x83, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x84, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x84, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x85, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x85, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x86, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x87, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x87, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x88, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x88, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x89, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x89, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x8A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x8A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x8B, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x8B, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x8C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x8C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x8D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x8D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x8E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x8E, 0x00], + len: IncompleteLen::Two, }), None, ]; +const DECODE_TABLE_LOSSY: decoder::complete::Table = [ + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0xE2, 0x82, 0xAC], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x81, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9A], + len: 3, + }, + CompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9E], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA6], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA0], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA1], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x88, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xB0], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x8A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xB9], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x8C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x8D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x8E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x8F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x90, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x98], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x99], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9C], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9D], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA2], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x93], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x94], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x98, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x84, 0xA2], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x9A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xBA], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x9C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x85, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x86, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x95], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x84, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x88, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x89, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x8A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x8C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x8E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x8F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x90, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x91, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x92, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x93, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x94, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x95, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x96, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x97, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x98, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x99, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x9A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x9B, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x9C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x9D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x9E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x9F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xCE, 0xA3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xAA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xAB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xAC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xAD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xAE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xAF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xBA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xBB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xBC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xBD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xBE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xBF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x80, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x81, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x82, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x83, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x84, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x85, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x87, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x88, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x89, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x8A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x8B, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x8C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x8D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x8E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, +]; impl Encoder for CP1253 { #[doc(hidden)] #[inline] diff --git a/src/code_pages/cp1254.rs b/src/code_pages/cp1254.rs index ec61c51..62edeb3 100644 --- a/src/code_pages/cp1254.rs +++ b/src/code_pages/cp1254.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP1254 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x81, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC6, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCB, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x86, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xB0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA0, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xB9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x90, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCB, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x9C, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x84, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA1, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xBA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBF, 0x00], + len: 2, }, ]; impl Encoder for CP1254 { diff --git a/src/code_pages/cp1255.rs b/src/code_pages/cp1255.rs index d3354f8..2e2fe6a 100644 --- a/src/code_pages/cp1255.rs +++ b/src/code_pages/cp1255.rs @@ -2,7 +2,10 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, incomplete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{ + self, complete::decode_helper as decode_helper_lossy, incomplete::decode_helper, + CompleteEntry, IncompleteEntry, IncompleteLen, + }, encoder::Encoder, CodePage, DecodeError, EncodeError, }; impl CP1255 { @@ -34,7 +37,7 @@ impl CP1255 { /// ``` #[inline(always)] pub fn decode_lossy(self, bytes: &[u8]) -> Cow<'_, str> { - decode_helper(&DECODE_TABLE, bytes, Some('�')).unwrap() + decode_helper_lossy(&DECODE_TABLE_LOSSY, bytes) } /// Decode CP1255 byte-encoding into UTF-8 string /// @@ -111,873 +114,873 @@ impl CodePage for CP1255 { } } const DECODE_TABLE: decoder::incomplete::Table = [ - Some(UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x00, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x01, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x02, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x03, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x04, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x05, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x06, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x07, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x08, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x09, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x10, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x11, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x12, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x13, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x14, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x15, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x16, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x17, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x18, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x19, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x20, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x21, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x22, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x23, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x24, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x25, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x26, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x27, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x28, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x29, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x30, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x31, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x32, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x33, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x34, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x35, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x36, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x37, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x38, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x39, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x40, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x41, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x42, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x43, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x44, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x45, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x46, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x47, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x48, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x49, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x50, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x51, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x52, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x53, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x54, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x55, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x56, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x57, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x58, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x59, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x60, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x61, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x62, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x63, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x64, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x65, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x66, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x67, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x68, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x69, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x70, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x71, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x72, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x73, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x74, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x75, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x76, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x77, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x78, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x79, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x82, 0xAC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x81, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x81, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9A], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC6, 0x92, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9E], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA6], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA1], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xCB, 0x86, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCB, 0x86, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xB0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x8A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xB9], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x8C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x8D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x8E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x8F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x90, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x90, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x98], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x99], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA2], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x93], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x94], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xCB, 0x9C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCB, 0x9C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x84, 0xA2], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x9A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xBA], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x9C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x82, 0xAA], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0xA5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x97, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xB0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xB0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xB1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xB1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xB2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xB2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xB3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xB3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xB4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xB4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xB5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xB5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xB6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xB6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xB8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xB8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xB9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xB9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xBA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xBA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xBB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xBB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xBC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xBC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xBD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xBD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xBE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xBE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD6, 0xBF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD6, 0xBF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x80, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x80, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x81, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x81, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x82, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x82, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x83, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x83, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xB0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xB0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xB1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xB1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xB2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xB2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xB3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xB3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xB4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xB4, 0x00], + len: IncompleteLen::Two, }), None, None, @@ -986,126 +989,1152 @@ const DECODE_TABLE: decoder::incomplete::Table = [ None, None, None, - Some(UTF8Entry { - buf: [0xD7, 0x90, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x90, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x91, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x91, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x92, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x92, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x93, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x93, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x94, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x94, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x95, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x95, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x96, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x96, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x97, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x97, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x98, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x98, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x99, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x99, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x9A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x9A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x9B, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x9B, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x9C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x9C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x9D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x9D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x9E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x9E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0x9F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0x9F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xA0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xA1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xA1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xA2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xA2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xA3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xA3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xA4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xA4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xA5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xA5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xA6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xA6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xA7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xA7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xA8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xA8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xA9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xA9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD7, 0xAA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD7, 0xAA, 0x00], + len: IncompleteLen::Two, }), None, None, - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x8E], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x8F], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), None, ]; +const DECODE_TABLE_LOSSY: decoder::complete::Table = [ + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0xE2, 0x82, 0xAC], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x81, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9A], + len: 3, + }, + CompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9E], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA6], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA0], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA1], + len: 3, + }, + CompleteEntry { + buf: [0xCB, 0x86, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xB0], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x8A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xB9], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x8C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x8D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x8E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x8F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x90, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x98], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x99], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9C], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9D], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA2], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x93], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x94], + len: 3, + }, + CompleteEntry { + buf: [0xCB, 0x9C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x84, 0xA2], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x9A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xBA], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x9C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x82, 0xAA], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xB0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xB1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xB2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xB3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xB4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xB5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xB6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xB8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xB9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xBA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xBB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xBC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xBD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xBE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD6, 0xBF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x80, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x81, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x82, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x83, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xB0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xB1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xB2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xB3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xB4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xD7, 0x90, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x91, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x92, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x93, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x94, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x95, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x96, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x97, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x98, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x99, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x9A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x9B, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x9C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x9D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x9E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0x9F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xA0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xA1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xA2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xA3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xA4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xA5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xA6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xA7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xA8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xA9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD7, 0xAA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x8E], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x8F], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, +]; impl Encoder for CP1255 { #[doc(hidden)] #[inline] diff --git a/src/code_pages/cp1256.rs b/src/code_pages/cp1256.rs index b5422b4..b4f34e3 100644 --- a/src/code_pages/cp1256.rs +++ b/src/code_pages/cp1256.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP1256 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD9, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0xBE, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC6, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCB, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x86, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xB0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD9, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0xB9, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xB9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xDA, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xDA, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xDA, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xDA, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xDA, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xDA, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xDA, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xDA, 0xAF, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xDA, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xDA, 0xA9, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x84, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xDA, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xDA, 0x91, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xBA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x93, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x8D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xDA, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xDA, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xDA, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xDA, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xDB, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xDB, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD8, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD8, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD9, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD9, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x8E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x8F], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xDB, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xDB, 0x92, 0x00], + len: 2, }, ]; impl Encoder for CP1256 { diff --git a/src/code_pages/cp1257.rs b/src/code_pages/cp1257.rs index bd3ad7c..ee9ce18 100644 --- a/src/code_pages/cp1257.rs +++ b/src/code_pages/cp1257.rs @@ -2,7 +2,10 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, incomplete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{ + self, complete::decode_helper as decode_helper_lossy, incomplete::decode_helper, + CompleteEntry, IncompleteEntry, IncompleteLen, + }, encoder::Encoder, CodePage, DecodeError, EncodeError, }; impl CP1257 { @@ -34,7 +37,7 @@ impl CP1257 { /// ``` #[inline(always)] pub fn decode_lossy(self, bytes: &[u8]) -> Cow<'_, str> { - decode_helper(&DECODE_TABLE, bytes, Some('�')).unwrap() + decode_helper_lossy(&DECODE_TABLE_LOSSY, bytes) } /// Decode CP1257 byte-encoding into UTF-8 string /// @@ -111,1025 +114,2051 @@ impl CodePage for CP1257 { } } const DECODE_TABLE: decoder::incomplete::Table = [ - Some(UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x00, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x01, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x02, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x03, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x04, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x05, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x06, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x07, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x08, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x09, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x10, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x11, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x12, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x13, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x14, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x15, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x16, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x17, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x18, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x19, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x20, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x21, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x22, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x23, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x24, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x25, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x26, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x27, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x28, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x29, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x30, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x31, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x32, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x33, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x34, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x35, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x36, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x37, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x38, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x39, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x40, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x41, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x42, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x43, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x44, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x45, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x46, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x47, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x48, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x49, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x50, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x51, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x52, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x53, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x54, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x55, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x56, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x57, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x58, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x59, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x60, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x61, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x62, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x63, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x64, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x65, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x66, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x67, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x68, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x69, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x70, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x71, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x72, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x73, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x74, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x75, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x76, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x77, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x78, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x79, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x82, 0xAC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x81, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x81, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9A], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x83, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x83, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9E], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA6], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA1], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x88, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x88, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xB0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x8A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xB9], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x8C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCB, 0x87, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCB, 0x87, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x90, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x90, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x98], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x99], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA2], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x93], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x94], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x98, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x98, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x84, 0xA2], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x9A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xBA], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x9C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCB, 0x9B, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCB, 0x9B, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: IncompleteLen::Two, }), None, - Some(UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: IncompleteLen::Two, }), None, - Some(UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x98, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x98, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x96, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x96, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x86, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x86, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x97, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x97, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x84, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x84, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0xAE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0xAE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x80, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x80, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x86, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x86, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x84, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x85, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x85, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x98, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x98, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x92, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x92, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x8C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x8C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0xB9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0xB9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x96, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x96, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0xA2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0xA2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0xB6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0xB6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0xAA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0xAA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0xBB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0xBB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0xA0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x83, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x83, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x85, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x85, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x93, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x93, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x8C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x8C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x95, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x95, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x96, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x97, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0xB2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0xB2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x81, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x81, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x9A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x9A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0xAA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0xAA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0xBB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0xBB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0xBD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0xBD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x85, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x85, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0xAF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0xAF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x81, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x81, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x87, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x87, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x99, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x99, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x93, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x93, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x8D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x8D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0xBA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0xBA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x97, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x97, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0xA3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0xA3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0xAB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0xAB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0xBC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0xBC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0xA1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0xA1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x84, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x84, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x86, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x86, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x8D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x8D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0xB3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0xB3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x82, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x82, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x9B, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x9B, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0xAB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0xAB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0xBC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0xBC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0xBE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0xBE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCB, 0x99, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCB, 0x99, 0x00], + len: IncompleteLen::Two, }), ]; +const DECODE_TABLE_LOSSY: decoder::complete::Table = [ + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0xE2, 0x82, 0xAC], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x81, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9A], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x83, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9E], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA6], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA0], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA1], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x88, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xB0], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x8A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xB9], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x8C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCB, 0x87, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x90, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x98], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x99], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9C], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9D], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA2], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x93], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x94], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x98, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x84, 0xA2], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x9A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xBA], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x9C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCB, 0x9B, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x98, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x96, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x86, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x97, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x84, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0xAE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x80, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x86, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x85, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x98, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x92, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x8C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0xB9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x96, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0xA2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0xB6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0xAA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0xBB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0xA0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x83, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x85, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x93, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x8C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x95, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0xB2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x81, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x9A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0xAA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0xBB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0xBD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x85, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0xAF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x81, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x87, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x99, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x93, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x8D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0xBA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x97, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0xA3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0xAB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0xBC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0xA1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x84, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x86, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x8D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0xB3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x82, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x9B, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0xAB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0xBC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0xBE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCB, 0x99, 0x00], + len: 2, + }, +]; impl Encoder for CP1257 { #[doc(hidden)] #[inline] diff --git a/src/code_pages/cp1258.rs b/src/code_pages/cp1258.rs index 15855dd..132401e 100644 --- a/src/code_pages/cp1258.rs +++ b/src/code_pages/cp1258.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP1258 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x81, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC6, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCB, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x86, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xB0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x8A, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xB9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x90, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCB, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x9C, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x84, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x9A, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xBA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCC, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCC, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCC, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCC, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC6, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC6, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCC, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCC, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCC, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCC, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCC, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCC, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC6, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC6, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0xB0, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xAB], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBF, 0x00], + len: 2, }, ]; impl Encoder for CP1258 { diff --git a/src/code_pages/cp437.rs b/src/code_pages/cp437.rs index 8715802..ab5869b 100644 --- a/src/code_pages/cp437.rs +++ b/src/code_pages/cp437.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP437 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC6, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x96], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x95], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9B], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9F], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA8], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAB], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCE, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB4, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCF, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB5, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x81, 0xBF], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, ]; impl Encoder for CP437 { diff --git a/src/code_pages/cp737.rs b/src/code_pages/cp737.rs index 8d76743..04c2e63 100644 --- a/src/code_pages/cp737.rs +++ b/src/code_pages/cp737.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP737 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xCE, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xBF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x88, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x96], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x95], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9B], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9F], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA8], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAB], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCF, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCE, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x81, 0xBF], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, ]; impl Encoder for CP737 { diff --git a/src/code_pages/cp850.rs b/src/code_pages/cp850.rs index 270c872..41d4bdd 100644 --- a/src/code_pages/cp850.rs +++ b/src/code_pages/cp850.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP850 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC6, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x83, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8F, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8C, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, ]; impl Encoder for CP850 { diff --git a/src/code_pages/cp852.rs b/src/code_pages/cp852.rs index 26ffa97..c6a8ab5 100644 --- a/src/code_pages/cp852.rs +++ b/src/code_pages/cp852.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP852 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x9E, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xBC, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC4, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x83, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC4, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC4, 0x9B, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC5, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xAE, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCB, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCB, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCB, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCB, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCB, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCB, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC5, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC5, 0x99, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, ]; impl Encoder for CP852 { diff --git a/src/code_pages/cp855.rs b/src/code_pages/cp855.rs index f6e72de..d72111b 100644 --- a/src/code_pages/cp855.rs +++ b/src/code_pages/cp855.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP855 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD1, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD1, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x98, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD0, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x99, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD0, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9A, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBF, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD0, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8F, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD0, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAC, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x84, 0x96], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, ]; impl Encoder for CP855 { diff --git a/src/code_pages/cp857.rs b/src/code_pages/cp857.rs index cd46951..84bd4c7 100644 --- a/src/code_pages/cp857.rs +++ b/src/code_pages/cp857.rs @@ -2,7 +2,10 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, incomplete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{ + self, complete::decode_helper as decode_helper_lossy, incomplete::decode_helper, + CompleteEntry, IncompleteEntry, IncompleteLen, + }, encoder::Encoder, CodePage, DecodeError, EncodeError, }; impl CP857 { @@ -34,7 +37,7 @@ impl CP857 { /// ``` #[inline(always)] pub fn decode_lossy(self, bytes: &[u8]) -> Cow<'_, str> { - decode_helper(&DECODE_TABLE, bytes, Some('�')).unwrap() + decode_helper_lossy(&DECODE_TABLE_LOSSY, bytes) } /// Decode CP857 byte-encoding into UTF-8 string /// @@ -111,1022 +114,2048 @@ impl CodePage for CP857 { } } const DECODE_TABLE: decoder::incomplete::Table = [ - Some(UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x00, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x01, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x02, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x03, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x04, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x05, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x06, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x07, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x08, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x09, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x10, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x11, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x12, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x13, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x14, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x15, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x16, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x17, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x18, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x19, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x20, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x21, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x22, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x23, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x24, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x25, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x26, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x27, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x28, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x29, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x30, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x31, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x32, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x33, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x34, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x35, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x36, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x37, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x38, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x39, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x40, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x41, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x42, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x43, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x44, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x45, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x46, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x47, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x48, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x49, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x50, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x51, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x52, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x53, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x54, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x55, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x56, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x57, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x58, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x59, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x60, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x61, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x62, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x63, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x64, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x65, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x66, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x67, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x68, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x69, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x70, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x71, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x72, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x73, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x74, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x75, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x76, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x77, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x78, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x79, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xAA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xAF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xAF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xAE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0xB1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0xB1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x84, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x85, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x85, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x86, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x86, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xBB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xBB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0xB0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0xB0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x96, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x98, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x98, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x9E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x9E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC5, 0x9F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC5, 0x9F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x91, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x91, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x9E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x9E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC4, 0x9F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC4, 0x9F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC3, 0x81, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x81, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x82, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x82, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x80, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x80, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC3, 0xA3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xA3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x83, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x83, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x8A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x8A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x8B, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x8B, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x88, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x88, 0x00], + len: IncompleteLen::Two, }), None, - Some(UTF8Entry { - buf: [0xC3, 0x8D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x8D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x8E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x8E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x8F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x8F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x8C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x8C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC3, 0x93, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x93, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x94, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x94, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x92, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x92, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x95, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x95, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: IncompleteLen::Two, }), None, - Some(UTF8Entry { - buf: [0xC3, 0x97, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x9A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x9A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x9B, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x9B, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x99, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x99, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xAC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xAC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xBF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xBF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: IncompleteLen::Two, }), None, - Some(UTF8Entry { - buf: [0xC2, 0xBE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: IncompleteLen::Two, }), ]; +const DECODE_TABLE_LOSSY: decoder::complete::Table = [ + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xAF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0xB1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x85, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x86, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xBB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0xB0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x98, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x9E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC5, 0x9F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x91, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x9E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC4, 0x9F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x91], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x92], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x93], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x82], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0xA4], + len: 3, + }, + CompleteEntry { + buf: [0xC3, 0x81, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x82, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x80, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0xA3], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0x91], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0x97], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0x9D], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x90], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x94], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0xB4], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0xAC], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x9C], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x80], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0xBC], + len: 3, + }, + CompleteEntry { + buf: [0xC3, 0xA3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x83, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0x9A], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0x94], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0xA9], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0xA6], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0xA0], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0x90], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0xAC], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x8A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x8B, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x88, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xC3, 0x8D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x8E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x8F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x98], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x8C], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x88], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x84], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x8C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x80], + len: 3, + }, + CompleteEntry { + buf: [0xC3, 0x93, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x94, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x92, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x95, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x9A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x9B, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x99, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xAC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xBF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xBE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0xA0], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, + }, +]; impl Encoder for CP857 { #[doc(hidden)] #[inline] diff --git a/src/code_pages/cp860.rs b/src/code_pages/cp860.rs index c10e038..8c5dc94 100644 --- a/src/code_pages/cp860.rs +++ b/src/code_pages/cp860.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP860 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x99, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x96], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x95], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9B], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9F], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA8], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAB], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCE, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB4, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCF, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB5, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x81, 0xBF], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, ]; impl Encoder for CP860 { diff --git a/src/code_pages/cp861.rs b/src/code_pages/cp861.rs index d8cb80c..5258b74 100644 --- a/src/code_pages/cp861.rs +++ b/src/code_pages/cp861.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP861 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x98, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC6, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x96], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x95], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9B], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9F], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA8], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAB], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCE, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB4, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCF, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB5, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x81, 0xBF], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, ]; impl Encoder for CP861 { diff --git a/src/code_pages/cp862.rs b/src/code_pages/cp862.rs index 1ec7399..47aafc0 100644 --- a/src/code_pages/cp862.rs +++ b/src/code_pages/cp862.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP862 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD7, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD7, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD7, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA5, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC6, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x96], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x95], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9B], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9F], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA8], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAB], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCE, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB4, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCF, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB5, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x81, 0xBF], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, ]; impl Encoder for CP862 { diff --git a/src/code_pages/cp863.rs b/src/code_pages/cp863.rs index 46a3a75..e164282 100644 --- a/src/code_pages/cp863.rs +++ b/src/code_pages/cp863.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP863 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC6, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8E, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x96], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x95], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9B], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9F], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA8], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAB], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCE, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB4, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCF, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB5, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x81, 0xBF], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, ]; impl Encoder for CP863 { diff --git a/src/code_pages/cp864.rs b/src/code_pages/cp864.rs index d3fb72b..a128b3d 100644 --- a/src/code_pages/cp864.rs +++ b/src/code_pages/cp864.rs @@ -2,7 +2,11 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, incomplete::decode_helper_non_ascii, UTF8Entry, UTF8Len}, + decoder::{ + self, complete::decode_helper_non_ascii as decode_helper_non_ascii_lossy, + incomplete::decode_helper_non_ascii, CompleteEntry, IncompleteEntry, + IncompleteLen, + }, encoder::Encoder, CodePage, DecodeError, EncodeError, }; impl CP864 { @@ -34,7 +38,7 @@ impl CP864 { /// ``` #[inline(always)] pub fn decode_lossy(self, bytes: &[u8]) -> Cow<'_, str> { - decode_helper_non_ascii(&DECODE_TABLE, bytes, Some('�')).unwrap() + decode_helper_non_ascii_lossy(&DECODE_TABLE_LOSSY, bytes) } /// Decode CP864 byte-encoding into UTF-8 string /// @@ -111,1013 +115,2039 @@ impl CodePage for CP864 { } } const DECODE_TABLE: decoder::incomplete::Table = [ - Some(UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x00, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x01, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x02, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x03, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x04, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x05, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x06, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x07, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x08, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x09, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x10, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x11, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x12, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x13, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x14, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x15, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x16, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x17, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x18, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x19, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x20, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x21, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x22, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x23, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x24, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xD9, 0xAA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0xAA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x26, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x27, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x28, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x29, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x30, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x31, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x32, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x33, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x34, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x35, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x36, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x37, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x38, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x39, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x40, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x41, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x42, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x43, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x44, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x45, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x46, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x47, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x48, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x49, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x50, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x51, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x52, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x53, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x54, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x55, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x56, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x57, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x58, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x59, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x60, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x61, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x62, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x63, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x64, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x65, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x66, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x67, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x68, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x69, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x70, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x71, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x72, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x73, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x74, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x75, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x76, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x77, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x78, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x79, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x88, 0x99], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x88, 0x9A], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xCE, 0xB2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x88, 0x9E], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xCF, 0x86, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x89, 0x88], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xB7], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xB8], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), None, None, - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xBB], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xBC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), None, - Some(UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x82], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x84], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), None, None, - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x8E], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x8F], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x95], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x99], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xD8, 0x8C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD8, 0x8C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x9D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xA1], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xA5], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xD9, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0xA0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD9, 0xA1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0xA1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD9, 0xA2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0xA2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD9, 0xA3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0xA3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD9, 0xA4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0xA4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD9, 0xA5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0xA5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD9, 0xA6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0xA6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD9, 0xA7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0xA7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD9, 0xA8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0xA8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xD9, 0xA9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0xA9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x91], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xD8, 0x9B, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD8, 0x9B, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xB1], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xB5], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xB9], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xD8, 0x9F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD8, 0x9F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x80], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x81], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x83], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x85], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x8A], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x8B], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x8D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x91], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x93], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x97], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x9B], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0x9F], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xA3], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xA7], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xA9], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xAB], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xAD], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xAF], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xB3], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xB7], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xBB], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xBF], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x81], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x85], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x8B], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x8F], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC3, 0x97, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x89], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xD9, 0x80, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0x80, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x93], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x97], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x9B], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x9F], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xA3], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xA7], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xAB], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xAD], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xAF], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xB3], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBA, 0xBD], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x8C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x8E], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x8D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xA1], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xB9, 0xBD], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xD9, 0x91, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xD9, 0x91, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xA5], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xA9], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xAC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xB0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xB2], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x90], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x95], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xB5], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xB6], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x9D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0x99], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xEF, 0xBB, 0xB1], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), None, ]; +const DECODE_TABLE_LOSSY: decoder::complete::Table = [ + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0xD9, 0xAA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x88, 0x99], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x88, 0x9A], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x92], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x80], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x82], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0xBC], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0xA4], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0xAC], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x9C], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0xB4], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x90], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x8C], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x94], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x98], + len: 3, + }, + CompleteEntry { + buf: [0xCE, 0xB2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x88, 0x9E], + len: 3, + }, + CompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x89, 0x88], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xB7], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xB8], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xBB], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xBC], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x82], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x84], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x8E], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x8F], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x95], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x99], + len: 3, + }, + CompleteEntry { + buf: [0xD8, 0x8C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x9D], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xA1], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xA5], + len: 3, + }, + CompleteEntry { + buf: [0xD9, 0xA0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD9, 0xA1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD9, 0xA2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD9, 0xA3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD9, 0xA4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD9, 0xA5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD9, 0xA6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD9, 0xA7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD9, 0xA8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xD9, 0xA9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x91], + len: 3, + }, + CompleteEntry { + buf: [0xD8, 0x9B, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xB1], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xB5], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xB9], + len: 3, + }, + CompleteEntry { + buf: [0xD8, 0x9F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x80], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x81], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x83], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x85], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x8A], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x8B], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x8D], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x91], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x93], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x97], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x9B], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0x9F], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xA3], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xA7], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xA9], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xAB], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xAD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xAF], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xB3], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xB7], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xBB], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xBF], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x81], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x85], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x8B], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x8F], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x89], + len: 3, + }, + CompleteEntry { + buf: [0xD9, 0x80, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x93], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x97], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x9B], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x9F], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xA3], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xA7], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xAB], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xAD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xAF], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xB3], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBA, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x8C], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x8E], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x8D], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xA1], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xB9, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xD9, 0x91, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xA5], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xA9], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xAC], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xB0], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xB2], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x90], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x95], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xB5], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xB6], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x9D], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0x99], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBB, 0xB1], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0xA0], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, +]; impl Encoder for CP864 { #[doc(hidden)] #[inline] diff --git a/src/code_pages/cp865.rs b/src/code_pages/cp865.rs index c43d3af..9f578c5 100644 --- a/src/code_pages/cp865.rs +++ b/src/code_pages/cp865.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP865 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x98, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC6, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC6, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x96], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x95], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9B], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9F], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA8], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAB], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCE, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCF, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB4, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xCF, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xCE, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xCE, 0xB5, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x81, 0xBF], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, ]; impl Encoder for CP865 { diff --git a/src/code_pages/cp866.rs b/src/code_pages/cp866.rs index 2cf717e..bb21c19 100644 --- a/src/code_pages/cp866.rs +++ b/src/code_pages/cp866.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP866 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0xD0, 0x90, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x90, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x92, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x92, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x93, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x93, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x95, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x95, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x98, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x98, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x99, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x99, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x9F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xB9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0xBF, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x96], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x95], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9B], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9F], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA8], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAB], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xD1, 0x80, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x80, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x82, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x82, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x83, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x83, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x85, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x86, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x86, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x88, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x88, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x89, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x89, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8A, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8A, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8B, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8B, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8D, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8D, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x8F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x8F, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x81, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x81, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x94, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x94, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD0, 0x8E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD0, 0x8E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xD1, 0x9E, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xD1, 0x9E, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x84, 0x96], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA4, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, ]; impl Encoder for CP866 { diff --git a/src/code_pages/cp869.rs b/src/code_pages/cp869.rs index 8bc5c1c..fdc71ca 100644 --- a/src/code_pages/cp869.rs +++ b/src/code_pages/cp869.rs @@ -2,7 +2,10 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, incomplete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{ + self, complete::decode_helper as decode_helper_lossy, incomplete::decode_helper, + CompleteEntry, IncompleteEntry, IncompleteLen, + }, encoder::Encoder, CodePage, DecodeError, EncodeError, }; impl CP869 { @@ -34,7 +37,7 @@ impl CP869 { /// ``` #[inline(always)] pub fn decode_lossy(self, bytes: &[u8]) -> Cow<'_, str> { - decode_helper(&DECODE_TABLE, bytes, Some('�')).unwrap() + decode_helper_lossy(&DECODE_TABLE_LOSSY, bytes) } /// Decode CP869 byte-encoding into UTF-8 string /// @@ -111,517 +114,517 @@ impl CodePage for CP869 { } } const DECODE_TABLE: decoder::incomplete::Table = [ - Some(UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x00, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x01, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x02, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x03, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x04, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x05, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x06, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x07, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x08, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x09, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x10, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x11, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x12, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x13, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x14, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x15, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x16, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x17, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x18, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x19, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x20, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x21, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x22, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x23, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x24, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x25, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x26, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x27, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x28, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x29, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x30, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x31, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x32, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x33, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x34, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x35, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x36, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x37, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x38, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x39, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x40, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x41, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x42, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x43, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x44, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x45, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x46, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x47, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x48, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x49, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x50, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x51, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x52, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x53, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x54, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x55, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x56, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x57, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x58, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x59, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x60, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x61, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x62, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x63, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x64, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x65, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x66, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x67, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x68, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x69, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x70, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x71, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x72, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x73, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x74, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x75, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x76, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x77, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x78, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x79, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: IncompleteLen::One, }), None, None, @@ -629,486 +632,1512 @@ const DECODE_TABLE: decoder::incomplete::Table = [ None, None, None, - Some(UTF8Entry { - buf: [0xCE, 0x86, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x86, 0x00], + len: IncompleteLen::Two, }), None, - Some(UTF8Entry { - buf: [0xC2, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x98], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x99], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xCE, 0x88, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x88, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x95], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xCE, 0x89, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x89, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x8A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x8A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xAA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xAA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x8C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x8C, 0x00], + len: IncompleteLen::Two, }), None, None, - Some(UTF8Entry { - buf: [0xCE, 0x8E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x8E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xAB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xAB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x8F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x8F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xAC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xAC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xAD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xAD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xAE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xAE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xAF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xAF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x8A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x8A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x90, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x90, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x8C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x8C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x8D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x8D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x91, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x91, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x92, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x92, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x93, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x93, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x94, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x94, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x95, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x95, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x96, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x96, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x97, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x97, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x98, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x98, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x99, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x99, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xBB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xCE, 0x9A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x9A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x9B, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x9B, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x9C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x9C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x9D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x9D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xCE, 0x9E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x9E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x9F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x9F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xCE, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xCE, 0xA3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xA9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xA9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB2, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB2, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB3, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB3, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xCE, 0xB4, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB4, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB5, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB5, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xCE, 0xB6, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB6, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB9, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB9, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xBA, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xBA, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xBB, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xBB, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xBC, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xBC, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xBD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xBD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xBE, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xBE, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xBF, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xBF, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x80, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x80, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x81, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x81, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x83, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x83, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x82, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x82, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x84, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x84, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x84, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x84, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xAD, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB1, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x85, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x85, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x86, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x87, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x87, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x88, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x88, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0x85, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0x85, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xB0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x89, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x89, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x8B, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x8B, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCE, 0xB0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCE, 0xB0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xCF, 0x8E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xCF, 0x8E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x96, 0xA0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: IncompleteLen::Two, }), ]; +const DECODE_TABLE_LOSSY: decoder::complete::Table = [ + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xCE, 0x86, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x98], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x99], + len: 3, + }, + CompleteEntry { + buf: [0xCE, 0x88, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x95], + len: 3, + }, + CompleteEntry { + buf: [0xCE, 0x89, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x8A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xAA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x8C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xCE, 0x8E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xAB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x8F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xAC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xAD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xAE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xAF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x8A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x90, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x8C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x8D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x91, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x92, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x93, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x94, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x95, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x96, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x97, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x98, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x99, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xBB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x91], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x92], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x93], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x82], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0xA4], + len: 3, + }, + CompleteEntry { + buf: [0xCE, 0x9A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x9B, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x9C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x9D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0xA3], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0x91], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0x97], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0x9D], + len: 3, + }, + CompleteEntry { + buf: [0xCE, 0x9E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x9F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x90], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x94], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0xB4], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0xAC], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x9C], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x80], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0xBC], + len: 3, + }, + CompleteEntry { + buf: [0xCE, 0xA0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0x9A], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0x94], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0xA9], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0xA6], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0xA0], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0x90], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x95, 0xAC], + len: 3, + }, + CompleteEntry { + buf: [0xCE, 0xA3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xA9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB2, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB3, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x98], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x94, 0x8C], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x88], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x84], + len: 3, + }, + CompleteEntry { + buf: [0xCE, 0xB4, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB5, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0x80], + len: 3, + }, + CompleteEntry { + buf: [0xCE, 0xB6, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB9, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xBA, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xBB, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xBC, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xBD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xBE, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xBF, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x80, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x81, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x83, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x82, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x84, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x84, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xAD, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB1, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x85, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x86, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x87, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x88, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0x85, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xB0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x89, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x8B, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCE, 0xB0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xCF, 0x8E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x96, 0xA0], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, + }, +]; impl Encoder for CP869 { #[doc(hidden)] #[inline] diff --git a/src/code_pages/cp874.rs b/src/code_pages/cp874.rs index b0d9c14..55d0716 100644 --- a/src/code_pages/cp874.rs +++ b/src/code_pages/cp874.rs @@ -2,7 +2,10 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, incomplete::decode_helper, UTF8Entry, UTF8Len}, + decoder::{ + self, complete::decode_helper as decode_helper_lossy, incomplete::decode_helper, + CompleteEntry, IncompleteEntry, IncompleteLen, + }, encoder::Encoder, CodePage, DecodeError, EncodeError, }; impl CP874 { @@ -34,7 +37,7 @@ impl CP874 { /// ``` #[inline(always)] pub fn decode_lossy(self, bytes: &[u8]) -> Cow<'_, str> { - decode_helper(&DECODE_TABLE, bytes, Some('�')).unwrap() + decode_helper_lossy(&DECODE_TABLE_LOSSY, bytes) } /// Decode CP874 byte-encoding into UTF-8 string /// @@ -111,1007 +114,2033 @@ impl CodePage for CP874 { } } const DECODE_TABLE: decoder::incomplete::Table = [ - Some(UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x00, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x01, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x02, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x03, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x04, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x05, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x06, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x07, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x8, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x08, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x9, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x09, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xA, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xB, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xC, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xD, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xE, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0xF, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x10, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x10, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x11, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x11, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x12, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x12, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x13, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x13, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x14, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x14, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x15, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x15, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x16, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x16, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x17, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x17, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x18, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x18, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x19, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x19, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x1F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x20, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x21, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x22, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x23, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x24, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x25, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x26, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x27, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x28, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x29, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x30, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x31, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x32, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x33, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x34, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x35, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x36, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x37, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x38, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x39, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x40, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x41, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x42, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x43, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x44, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x45, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x46, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x47, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x48, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x49, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x50, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x51, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x52, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x53, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x54, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x55, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x56, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x57, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x58, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x59, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x60, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x61, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x62, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x63, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x64, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x65, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x66, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x67, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x68, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x69, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x70, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x71, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x72, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x73, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x74, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x75, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x76, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x77, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x78, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x79, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7C, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { - buf: [0x7F, 0x0, 0x0], - len: UTF8Len::One, + Some(IncompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: IncompleteLen::One, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x82, 0xAC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x81, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x81, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x82, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x82, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x83, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x83, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x84, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x84, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA6], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x86, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x86, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x87, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x87, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x88, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x88, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x89, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x89, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x8A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x8B, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8B, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x8C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x8D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x8E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x8F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x8F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x90, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x90, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x98], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x99], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x9D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0xA2], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x93], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE2, 0x80, 0x94], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { - buf: [0xC2, 0x98, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x98, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x99, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x99, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9A, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9A, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9B, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9B, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9C, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9C, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9D, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9D, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9E, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9E, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0x9F, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0x9F, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + Some(IncompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: IncompleteLen::Two, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x81], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x82], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x83], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x84], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x85], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x86], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x87], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x88], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x89], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x8A], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x8B], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x8C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x8D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x8E], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x8F], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x90], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x91], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x92], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x93], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x94], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x95], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x96], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x97], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x98], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x99], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x9A], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x9B], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x9C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x9D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x9E], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0x9F], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xA0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xA1], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xA2], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xA3], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xA4], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xA5], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xA6], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xA7], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xA8], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xA9], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xAA], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xAB], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xAC], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xAD], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xAE], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xAF], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xB0], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xB1], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xB2], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xB3], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xB4], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xB5], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xB6], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xB7], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xB8], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xB9], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xBA], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), None, None, None, None, - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB8, 0xBF], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x80], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x81], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x82], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x83], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x84], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x85], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x86], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x87], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x88], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x89], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x8A], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x8B], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x8C], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x8D], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x8E], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x8F], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x90], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x91], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x92], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x93], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x94], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x95], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x96], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x97], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x98], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x99], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x9A], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), - Some(UTF8Entry { + Some(IncompleteEntry { buf: [0xE0, 0xB9, 0x9B], - len: UTF8Len::Three, + len: IncompleteLen::Three, }), None, None, None, None, ]; +const DECODE_TABLE_LOSSY: decoder::complete::Table = [ + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x01, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x02, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x03, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x04, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x05, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x06, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x07, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x08, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x09, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x0F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x10, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x11, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x12, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x13, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x14, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x15, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x16, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x17, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x18, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x19, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x1F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7C, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0x7F, 0x00, 0x00], + len: 1, + }, + CompleteEntry { + buf: [0xE2, 0x82, 0xAC], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x81, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x82, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x83, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x84, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA6], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x86, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x87, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x88, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x89, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x8A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x8B, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x8C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x8D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x8E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x8F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x90, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x98], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x99], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9C], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x9D], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0xA2], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x93], + len: 3, + }, + CompleteEntry { + buf: [0xE2, 0x80, 0x94], + len: 3, + }, + CompleteEntry { + buf: [0xC2, 0x98, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x99, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9A, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9B, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9C, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9D, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9E, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0x9F, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x81], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x82], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x83], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x84], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x85], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x86], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x87], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x88], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x89], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x8A], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x8B], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x8C], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x8D], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x8E], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x8F], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x90], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x91], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x92], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x93], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x94], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x95], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x96], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x97], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x98], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x99], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x9A], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x9B], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x9C], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x9D], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x9E], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0x9F], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xA0], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xA1], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xA2], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xA3], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xA4], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xA5], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xA6], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xA7], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xA8], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xA9], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xAA], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xAB], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xAC], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xAD], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xAE], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xAF], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xB0], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xB1], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xB2], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xB3], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xB4], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xB5], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xB6], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xB7], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xB8], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xB9], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xBA], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB8, 0xBF], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x80], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x81], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x82], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x83], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x84], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x85], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x86], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x87], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x88], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x89], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x8A], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x8B], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x8C], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x8D], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x8E], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x8F], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x90], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x91], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x92], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x93], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x94], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x95], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x96], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x97], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x98], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x99], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x9A], + len: 3, + }, + CompleteEntry { + buf: [0xE0, 0xB9, 0x9B], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, + CompleteEntry { + buf: [0xEF, 0xBF, 0xBD], + len: 3, + }, +]; impl Encoder for CP874 { #[doc(hidden)] #[inline] diff --git a/src/code_pages/cp910.rs b/src/code_pages/cp910.rs index f150642..8ec36a8 100644 --- a/src/code_pages/cp910.rs +++ b/src/code_pages/cp910.rs @@ -2,7 +2,7 @@ //! See binary codegen crate use std::borrow::Cow; use crate::{ - decoder::{self, complete::decode_helper_non_ascii, UTF8Entry, UTF8Len}, + decoder::{self, complete::decode_helper_non_ascii, CompleteEntry}, encoder::Encoder, CodePage, DecodeError, EncodeError, }; #[derive(Copy, Clone)] @@ -61,1029 +61,1029 @@ impl CodePage for CP910 { } } const DECODE_TABLE: decoder::complete::Table = [ - UTF8Entry { - buf: [0x0, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x00, 0x00, 0x00], + len: 1, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x98, 0xBA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x98, 0xBB], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x99, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x99, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x99, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x99, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x97, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x97, 0x8B], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x97, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x99, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x99, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x99, 0xAA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x99, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x98, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xBA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x97, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x86, 0x95], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x86, 0xA8], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x86, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x86, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x86, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x86, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x9F], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x86, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xB2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0x20, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x20, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x21, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x21, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x22, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x22, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x23, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x23, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x24, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x24, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x25, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x25, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x26, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x26, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x27, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x27, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x28, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x28, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x29, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x29, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x2F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x2F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x30, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x30, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x31, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x31, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x32, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x32, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x33, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x33, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x34, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x34, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x35, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x35, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x36, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x36, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x37, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x37, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x38, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x38, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x39, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x39, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x3F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x3F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x40, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x40, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x41, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x41, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x42, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x42, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x43, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x43, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x44, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x44, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x45, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x45, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x46, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x46, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x47, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x47, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x48, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x48, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x49, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x49, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x4F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x4F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x50, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x50, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x51, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x51, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x52, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x52, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x53, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x53, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x54, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x54, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x55, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x55, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x56, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x56, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x57, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x57, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x58, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x58, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x59, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x59, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x5D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5D, 0x00, 0x00], + len: 1, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0x5F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x5F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x60, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x60, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x61, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x61, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x62, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x62, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x63, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x63, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x64, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x64, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x65, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x65, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x66, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x66, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x67, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x67, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x68, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x68, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x69, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x69, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6B, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6C, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6C, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6E, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x6F, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x6F, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x70, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x70, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x71, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x71, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x72, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x72, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x73, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x73, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x74, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x74, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x75, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x75, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x76, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x76, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x77, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x77, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x78, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x78, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x79, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x79, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7A, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7A, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7B, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7B, 0x00, 0x00], + len: 1, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0x7D, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7D, 0x00, 0x00], + len: 1, }, - UTF8Entry { - buf: [0x7E, 0x0, 0x0], - len: UTF8Len::One, + CompleteEntry { + buf: [0x7E, 0x00, 0x00], + len: 1, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0x87, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x87, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA9, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA0, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA5, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA5, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA7, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAF, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAE, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAE, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x84, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x84, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x85, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x85, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8E, 0x95], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0x9E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xB9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0xB4, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB4, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB2, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB2, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBB, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBB, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB9, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB9, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8A, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0x96, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x96, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x9C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9C, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA3, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8A, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x82, 0xA7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xB6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xA1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xAD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xAD, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB3, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB3, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB1, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x91, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x91, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xAA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBA, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBA, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBF, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBF, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xAC, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xAC, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xBD, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xBD, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0xAA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA1, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA1, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0x95], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0x8E], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0x9F], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x86], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x87], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x86, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x97], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x86, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0x8A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x9C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0xBC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x86, 0x91], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x86, 0x93], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x9A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x94], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA6], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0x90], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x95, 0xAC], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0xB8], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0xB7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0xB5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xB7], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xBB], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8A, 0xA2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8A, 0xA3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8B, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x94, 0x8C], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x88], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x84], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA6, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA6, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0x8C, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x8C, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x96, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0xBA], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0x9F, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x9F, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8A, 0x82], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8A, 0x83], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0x9D], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0xB2], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0xB4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0xB1], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xBD], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8A, 0x96], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x97, 0x8B], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0xA8], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0xB3], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0x89], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x8A], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0xA9], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8C, 0xBF], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0x80], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA4], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x89, 0xA0], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC3, 0x97, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0x97, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC3, 0xB7, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC3, 0xB7, 0x00], + len: 2, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0x99], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x88, 0x98], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0xB5], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0xAB], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0x8B], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x8D, 0x92], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { + CompleteEntry { buf: [0xE2, 0x80, 0xBE], - len: UTF8Len::Three, + len: 3, }, - UTF8Entry { - buf: [0xC2, 0xA8, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA8, 0x00], + len: 2, }, - UTF8Entry { - buf: [0xC2, 0xA0, 0x0], - len: UTF8Len::Two, + CompleteEntry { + buf: [0xC2, 0xA0, 0x00], + len: 2, }, ]; impl Encoder for CP910 { diff --git a/src/decoder.rs b/src/decoder.rs index 3e9c2f0..d04f0e1 100644 --- a/src/decoder.rs +++ b/src/decoder.rs @@ -1,7 +1,11 @@ pub(crate) mod complete; pub(crate) mod incomplete; + use std::mem; +pub(crate) use complete::Entry as CompleteEntry; +pub(crate) use incomplete::{Entry as IncompleteEntry, Len as IncompleteLen}; + const USIZE_SIZE: usize = mem::size_of::(); /// Given [`buffer`] and end-ptr [`ptr`] set new length and shrink allocation @@ -23,55 +27,3 @@ fn contains_nonascii(v: usize) -> bool { const NONASCII_MASK: usize = 0x8080_8080_8080_8080_u64 as usize; (NONASCII_MASK & v) != 0 } - -#[derive(Copy, Clone)] -#[repr(u8)] -pub(crate) enum UTF8Len { - One = 1, - Two = 2, - Three = 3, - //Four is not allowed in this library -} - -#[derive(Copy, Clone)] -pub(crate) struct UTF8Entry { - #[allow(dead_code)] - pub buf: [u8; 3], - pub len: UTF8Len, -} - -impl UTF8Entry { - fn from_char(c: char) -> Self { - let c_len = c.len_utf8(); - assert!(c_len < 4); - let mut buf = [0; 3]; - c.encode_utf8(&mut buf); - UTF8Entry { - buf, - len: match c_len { - 1 => UTF8Len::One, - 2 => UTF8Len::Two, - 3 => UTF8Len::Three, - _ => unreachable!(), - }, - } - } -} - -/// # Safety: -/// -/// To use this function safely, the following assumptions must be true: -/// - dst must have at least three bytes of space remaining to accommodate the UTF-8 character from entry. -/// After execution it will be advanced by the number of bytes written. -#[inline] -unsafe fn write_entry(entry: UTF8Entry, dst: &mut *mut u8) { - match entry.len { - UTF8Len::One => { - dst.write(entry.buf[0]); - } - UTF8Len::Two | UTF8Len::Three => { - dst.copy_from_nonoverlapping(entry.buf.as_ptr(), 3); - } - } - *dst = dst.add(entry.len as usize); -} diff --git a/src/decoder/complete.rs b/src/decoder/complete.rs index e717ccb..72eed34 100644 --- a/src/decoder/complete.rs +++ b/src/decoder/complete.rs @@ -1,9 +1,33 @@ -use core::mem; use std::borrow::Cow; +use std::mem; -use super::{contains_nonascii, finalize_string, write_entry, UTF8Entry, USIZE_SIZE}; +use super::{contains_nonascii, finalize_string, USIZE_SIZE}; -pub(crate) type Table = [UTF8Entry; 256]; +/// Entry for complete/lossy tables - optimized for branchless 4-byte writes +/// Layout: [buf[0], buf[1], buf[2], len] for direct u32 store +#[derive(Copy, Clone)] +#[repr(C)] +pub struct Entry { + pub buf: [u8; 3], + pub len: u8, +} + +impl Entry { + /// Branchless write for complete tables + /// + /// # Safety + /// + /// dst must have at least four bytes of space remaining. + /// After execution dst will be advanced by the number of bytes written. + #[inline] + pub unsafe fn write(self, dst: &mut *mut u8) { + let word: u32 = mem::transmute(self); + dst.cast::().write_unaligned(word); + *dst = dst.add((word >> 24) as usize); + } +} + +pub(crate) type Table = [Entry; 256]; #[inline(always)] pub(crate) fn decode_helper<'a>(table: &Table, src: &'a [u8]) -> Cow<'a, str> { @@ -12,7 +36,8 @@ pub(crate) fn decode_helper<'a>(table: &Table, src: &'a [u8]) -> Cow<'a, str> { return s.into(); } - let mut buffer: Vec = Vec::with_capacity(src.len() * 3); + // +1 for branchless 4-byte write which may overshoot by 1 byte + let mut buffer: Vec = Vec::with_capacity(src.len() * 3 + 1); // Safety: decode_slice expects buffer.len() >= src.len() * 3 let mut dst = buffer.as_mut_ptr(); @@ -51,7 +76,8 @@ pub(crate) fn decode_helper<'a>(table: &Table, src: &'a [u8]) -> Cow<'a, str> { /// Needed by CP864 and EBCDIC codepages. #[inline(always)] pub(crate) fn decode_helper_non_ascii<'a>(table: &Table, bytes: &'a [u8]) -> Cow<'a, str> { - let mut buffer: Vec = Vec::with_capacity(bytes.len() * 3); + // +1 for branchless 4-byte write which may overshoot by 1 byte + let mut buffer: Vec = Vec::with_capacity(bytes.len() * 3 + 1); // Safety: decode_slice expects buffer.len() >= src.len() * 3 let mut dst = buffer.as_mut_ptr(); unsafe { decode_slice(table, bytes, &mut dst) }; @@ -66,6 +92,6 @@ pub(crate) fn decode_helper_non_ascii<'a>(table: &Table, bytes: &'a [u8]) -> Cow unsafe fn decode_slice(table: &Table, src: &[u8], dst: &mut *mut u8) { for b in src { let entry = table[*b as usize]; - write_entry(entry, dst); + entry.write(dst); } } diff --git a/src/decoder/incomplete.rs b/src/decoder/incomplete.rs index dd91601..3cf27d6 100644 --- a/src/decoder/incomplete.rs +++ b/src/decoder/incomplete.rs @@ -1,11 +1,63 @@ -use core::mem; use std::borrow::Cow; +use std::mem; use crate::DecodeError; -use super::{contains_nonascii, finalize_string, write_entry, UTF8Entry, USIZE_SIZE}; +use super::{contains_nonascii, finalize_string, USIZE_SIZE}; -pub(crate) type Table = [Option; 256]; +/// UTF8 length enum for incomplete tables (enables niche optimization with Option) +#[derive(Copy, Clone)] +#[repr(u8)] +pub enum Len { + One = 1, + Two = 2, + Three = 3, +} + +/// Entry for incomplete tables - uses Len for niche-optimized Option +#[derive(Copy, Clone)] +pub struct Entry { + pub buf: [u8; 3], + pub len: Len, +} + +impl Entry { + pub fn from_char(c: char) -> Self { + let c_len = c.len_utf8(); + assert!(c_len < 4); + let mut buf = [0; 3]; + c.encode_utf8(&mut buf); + Entry { + buf, + len: match c_len { + 1 => Len::One, + 2 => Len::Two, + 3 => Len::Three, + _ => unreachable!(), + }, + } + } + + /// # Safety + /// + /// dst must have at least three bytes of space remaining. + /// After execution dst will be advanced by the number of bytes written. + #[inline] + pub unsafe fn write(self, dst: &mut *mut u8) { + match self.len { + Len::One => { + dst.write(self.buf[0]); + } + Len::Two | Len::Three => { + dst.copy_from_nonoverlapping(self.buf.as_ptr(), 3); + } + } + *dst = dst.add(self.len as usize); + } +} + +/// Table for incomplete codepages using Option for niche optimization +pub(crate) type Table = [Option; 256]; #[inline(always)] pub(crate) fn decode_helper<'a>( @@ -13,7 +65,7 @@ pub(crate) fn decode_helper<'a>( bytes: &'a [u8], fallback: Option, ) -> Result, DecodeError> { - let fallback: Option = fallback.map(UTF8Entry::from_char); + let fallback: Option = fallback.map(Entry::from_char); if bytes.is_ascii() { let s = unsafe { std::str::from_utf8_unchecked(bytes) }; return Ok(s.into()); @@ -73,7 +125,7 @@ pub(crate) fn decode_helper_non_ascii<'a>( let mut buffer: Vec = Vec::with_capacity(bytes.len() * 3); // Safety: decode_slice expects buffer.len() >= src.len() * 3 let mut dst = buffer.as_mut_ptr(); - let fallback: Option = fallback.map(UTF8Entry::from_char); + let fallback: Option = fallback.map(Entry::from_char); unsafe { decode_slice(table, bytes, &mut dst, fallback) }?; Ok(unsafe { finalize_string(buffer, dst) }.into()) } @@ -87,12 +139,12 @@ unsafe fn decode_slice( table: &Table, src: &[u8], dst: &mut *mut u8, - fallback: Option, + fallback: Option, ) -> Result<(), DecodeError> { if let Some(fallback) = fallback { for b in src.iter() { let entry = table[*b as usize].unwrap_or(fallback); - write_entry(entry, dst); + entry.write(dst); } } else { for (i, b) in src.iter().enumerate() { @@ -100,7 +152,7 @@ unsafe fn decode_slice( position: i, value: *b, })?; - write_entry(entry, dst); + entry.write(dst); } } Ok(())