Files
msdos-encodings/src/tables/single.rs
Claude Fable 5 518250da2c Add the four double-byte CJK pages behind an on-by-default dbcs feature
Code pages 932 (Shift-JIS), 936 (GBK), 949 (Unified Hangul), and 950
(Big5), generated from the Unicode Consortium's Microsoft WINDOWS
tables. Each page carries a three-state single-byte table (map / lead /
undefined) plus sorted pair arrays binary-searched in both directions.

Where several codes decode to one scalar (932's NEC/IBM overlap, 950's
duplicated box-drawing rows), the encoder's winner is resolved from
Microsoft's own bestfit WCTABLE — used only for duplicate resolution,
never to import lossy best-fit mappings. The full decode direction was
cross-validated against Python's cp932/936/949/950 codecs: zero
mismatches over 60k+ pairs.

Decode gains TruncatedPair and UndefinedPair failure modes; decode_lossy
emits one U+FFFD per failed pair. Both feature configurations are
clippy-clean and tested.
2026-07-19 12:28:33 -05:00

4165 lines
75 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//! Generated by `tools/gen_tables.py` — do not edit by hand.
//!
//! Source: the Unicode Consortium's Microsoft mapping tables, vendored in
//! `data/`.
/// Code page 437, byte value to Unicode scalar.
pub(crate) const CP437: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('Ç'),
Some('ü'),
Some('é'),
Some('â'),
Some('ä'),
Some('à'),
Some('å'),
Some('ç'), // 0x80-0x87
Some('ê'),
Some('ë'),
Some('è'),
Some('ï'),
Some('î'),
Some('ì'),
Some('Ä'),
Some('Å'), // 0x88-0x8f
Some('É'),
Some('æ'),
Some('Æ'),
Some('ô'),
Some('ö'),
Some('ò'),
Some('û'),
Some('ù'), // 0x90-0x97
Some('ÿ'),
Some('Ö'),
Some('Ü'),
Some('¢'),
Some('£'),
Some('¥'),
Some('₧'),
Some('ƒ'), // 0x98-0x9f
Some('á'),
Some('í'),
Some('ó'),
Some('ú'),
Some('ñ'),
Some('Ñ'),
Some('ª'),
Some('º'), // 0xa0-0xa7
Some('¿'),
Some('⌐'),
Some('¬'),
Some('½'),
Some('¼'),
Some('¡'),
Some('«'),
Some('»'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('╡'),
Some('╢'),
Some('╖'), // 0xb0-0xb7
Some('╕'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('╜'),
Some('╛'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('╞'),
Some('╟'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('╧'), // 0xc8-0xcf
Some('╨'),
Some('╤'),
Some('╥'),
Some('╙'),
Some('╘'),
Some('╒'),
Some('╓'),
Some('╫'), // 0xd0-0xd7
Some('╪'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('▌'),
Some('▐'),
Some('▀'), // 0xd8-0xdf
Some('α'),
Some('ß'),
Some('Γ'),
Some('π'),
Some('Σ'),
Some('σ'),
Some('µ'),
Some('τ'), // 0xe0-0xe7
Some('Φ'),
Some('Θ'),
Some('Ω'),
Some('δ'),
Some('∞'),
Some('φ'),
Some('ε'),
Some('∩'), // 0xe8-0xef
Some('≡'),
Some('±'),
Some('≥'),
Some('≤'),
Some('⌠'),
Some('⌡'),
Some('÷'),
Some('≈'), // 0xf0-0xf7
Some('°'),
Some('∙'),
Some('·'),
Some('√'),
Some('ⁿ'),
Some('²'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 737, byte value to Unicode scalar.
pub(crate) const CP737: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('Α'),
Some('Β'),
Some('Γ'),
Some('Δ'),
Some('Ε'),
Some('Ζ'),
Some('Η'),
Some('Θ'), // 0x80-0x87
Some('Ι'),
Some('Κ'),
Some('Λ'),
Some('Μ'),
Some('Ν'),
Some('Ξ'),
Some('Ο'),
Some('Π'), // 0x88-0x8f
Some('Ρ'),
Some('Σ'),
Some('Τ'),
Some('Υ'),
Some('Φ'),
Some('Χ'),
Some('Ψ'),
Some('Ω'), // 0x90-0x97
Some('α'),
Some('β'),
Some('γ'),
Some('δ'),
Some('ε'),
Some('ζ'),
Some('η'),
Some('θ'), // 0x98-0x9f
Some('ι'),
Some('κ'),
Some('λ'),
Some('μ'),
Some('ν'),
Some('ξ'),
Some('ο'),
Some('π'), // 0xa0-0xa7
Some('ρ'),
Some('σ'),
Some('ς'),
Some('τ'),
Some('υ'),
Some('φ'),
Some('χ'),
Some('ψ'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('╡'),
Some('╢'),
Some('╖'), // 0xb0-0xb7
Some('╕'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('╜'),
Some('╛'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('╞'),
Some('╟'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('╧'), // 0xc8-0xcf
Some('╨'),
Some('╤'),
Some('╥'),
Some('╙'),
Some('╘'),
Some('╒'),
Some('╓'),
Some('╫'), // 0xd0-0xd7
Some('╪'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('▌'),
Some('▐'),
Some('▀'), // 0xd8-0xdf
Some('ω'),
Some('ά'),
Some('έ'),
Some('ή'),
Some('ϊ'),
Some('ί'),
Some('ό'),
Some('ύ'), // 0xe0-0xe7
Some('ϋ'),
Some('ώ'),
Some('Ά'),
Some('Έ'),
Some('Ή'),
Some('Ί'),
Some('Ό'),
Some('Ύ'), // 0xe8-0xef
Some('Ώ'),
Some('±'),
Some('≥'),
Some('≤'),
Some('Ϊ'),
Some('Ϋ'),
Some('÷'),
Some('≈'), // 0xf0-0xf7
Some('°'),
Some('∙'),
Some('·'),
Some('√'),
Some('ⁿ'),
Some('²'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 775, byte value to Unicode scalar.
pub(crate) const CP775: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('Ć'),
Some('ü'),
Some('é'),
Some('ā'),
Some('ä'),
Some('ģ'),
Some('å'),
Some('ć'), // 0x80-0x87
Some('ł'),
Some('ē'),
Some('Ŗ'),
Some('ŗ'),
Some('ī'),
Some('Ź'),
Some('Ä'),
Some('Å'), // 0x88-0x8f
Some('É'),
Some('æ'),
Some('Æ'),
Some('ō'),
Some('ö'),
Some('Ģ'),
Some('¢'),
Some('Ś'), // 0x90-0x97
Some('ś'),
Some('Ö'),
Some('Ü'),
Some('ø'),
Some('£'),
Some('Ø'),
Some('×'),
Some('¤'), // 0x98-0x9f
Some('Ā'),
Some('Ī'),
Some('ó'),
Some('Ż'),
Some('ż'),
Some('ź'),
Some('”'),
Some('¦'), // 0xa0-0xa7
Some('©'),
Some('®'),
Some('¬'),
Some('½'),
Some('¼'),
Some('Ł'),
Some('«'),
Some('»'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('Ą'),
Some('Č'),
Some('Ę'), // 0xb0-0xb7
Some('Ė'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('Į'),
Some('Š'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('Ų'),
Some('Ū'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('Ž'), // 0xc8-0xcf
Some('ą'),
Some('č'),
Some('ę'),
Some('ė'),
Some('į'),
Some('š'),
Some('ų'),
Some('ū'), // 0xd0-0xd7
Some('ž'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('▌'),
Some('▐'),
Some('▀'), // 0xd8-0xdf
Some('Ó'),
Some('ß'),
Some('Ō'),
Some('Ń'),
Some('õ'),
Some('Õ'),
Some('µ'),
Some('ń'), // 0xe0-0xe7
Some('Ķ'),
Some('ķ'),
Some('Ļ'),
Some('ļ'),
Some('ņ'),
Some('Ē'),
Some('Ņ'),
Some(''), // 0xe8-0xef
Some('\u{00AD}'),
Some('±'),
Some('“'),
Some('¾'),
Some('¶'),
Some('§'),
Some('÷'),
Some('„'), // 0xf0-0xf7
Some('°'),
Some('∙'),
Some('·'),
Some('¹'),
Some('³'),
Some('²'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 850, byte value to Unicode scalar.
pub(crate) const CP850: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('Ç'),
Some('ü'),
Some('é'),
Some('â'),
Some('ä'),
Some('à'),
Some('å'),
Some('ç'), // 0x80-0x87
Some('ê'),
Some('ë'),
Some('è'),
Some('ï'),
Some('î'),
Some('ì'),
Some('Ä'),
Some('Å'), // 0x88-0x8f
Some('É'),
Some('æ'),
Some('Æ'),
Some('ô'),
Some('ö'),
Some('ò'),
Some('û'),
Some('ù'), // 0x90-0x97
Some('ÿ'),
Some('Ö'),
Some('Ü'),
Some('ø'),
Some('£'),
Some('Ø'),
Some('×'),
Some('ƒ'), // 0x98-0x9f
Some('á'),
Some('í'),
Some('ó'),
Some('ú'),
Some('ñ'),
Some('Ñ'),
Some('ª'),
Some('º'), // 0xa0-0xa7
Some('¿'),
Some('®'),
Some('¬'),
Some('½'),
Some('¼'),
Some('¡'),
Some('«'),
Some('»'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('Á'),
Some('Â'),
Some('À'), // 0xb0-0xb7
Some('©'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('¢'),
Some('¥'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('ã'),
Some('Ã'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('¤'), // 0xc8-0xcf
Some('ð'),
Some('Ð'),
Some('Ê'),
Some('Ë'),
Some('È'),
Some('ı'),
Some('Í'),
Some('Î'), // 0xd0-0xd7
Some('Ï'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('¦'),
Some('Ì'),
Some('▀'), // 0xd8-0xdf
Some('Ó'),
Some('ß'),
Some('Ô'),
Some('Ò'),
Some('õ'),
Some('Õ'),
Some('µ'),
Some('þ'), // 0xe0-0xe7
Some('Þ'),
Some('Ú'),
Some('Û'),
Some('Ù'),
Some('ý'),
Some('Ý'),
Some('¯'),
Some('´'), // 0xe8-0xef
Some('\u{00AD}'),
Some('±'),
Some('‗'),
Some('¾'),
Some('¶'),
Some('§'),
Some('÷'),
Some('¸'), // 0xf0-0xf7
Some('°'),
Some('¨'),
Some('·'),
Some('¹'),
Some('³'),
Some('²'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 852, byte value to Unicode scalar.
pub(crate) const CP852: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('Ç'),
Some('ü'),
Some('é'),
Some('â'),
Some('ä'),
Some('ů'),
Some('ć'),
Some('ç'), // 0x80-0x87
Some('ł'),
Some('ë'),
Some('Ő'),
Some('ő'),
Some('î'),
Some('Ź'),
Some('Ä'),
Some('Ć'), // 0x88-0x8f
Some('É'),
Some('Ĺ'),
Some('ĺ'),
Some('ô'),
Some('ö'),
Some('Ľ'),
Some('ľ'),
Some('Ś'), // 0x90-0x97
Some('ś'),
Some('Ö'),
Some('Ü'),
Some('Ť'),
Some('ť'),
Some('Ł'),
Some('×'),
Some('č'), // 0x98-0x9f
Some('á'),
Some('í'),
Some('ó'),
Some('ú'),
Some('Ą'),
Some('ą'),
Some('Ž'),
Some('ž'), // 0xa0-0xa7
Some('Ę'),
Some('ę'),
Some('¬'),
Some('ź'),
Some('Č'),
Some('ş'),
Some('«'),
Some('»'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('Á'),
Some('Â'),
Some('Ě'), // 0xb0-0xb7
Some('Ş'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('Ż'),
Some('ż'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('Ă'),
Some('ă'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('¤'), // 0xc8-0xcf
Some('đ'),
Some('Đ'),
Some('Ď'),
Some('Ë'),
Some('ď'),
Some('Ň'),
Some('Í'),
Some('Î'), // 0xd0-0xd7
Some('ě'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('Ţ'),
Some('Ů'),
Some('▀'), // 0xd8-0xdf
Some('Ó'),
Some('ß'),
Some('Ô'),
Some('Ń'),
Some('ń'),
Some('ň'),
Some('Š'),
Some('š'), // 0xe0-0xe7
Some('Ŕ'),
Some('Ú'),
Some('ŕ'),
Some('Ű'),
Some('ý'),
Some('Ý'),
Some('ţ'),
Some('´'), // 0xe8-0xef
Some('\u{00AD}'),
Some('˝'),
Some('˛'),
Some('ˇ'),
Some('˘'),
Some('§'),
Some('÷'),
Some('¸'), // 0xf0-0xf7
Some('°'),
Some('¨'),
Some('˙'),
Some('ű'),
Some('Ř'),
Some('ř'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 855, byte value to Unicode scalar.
pub(crate) const CP855: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('ђ'),
Some('Ђ'),
Some('ѓ'),
Some('Ѓ'),
Some('ё'),
Some('Ё'),
Some('є'),
Some('Є'), // 0x80-0x87
Some('ѕ'),
Some('Ѕ'),
Some('і'),
Some('І'),
Some('ї'),
Some('Ї'),
Some('ј'),
Some('Ј'), // 0x88-0x8f
Some('љ'),
Some('Љ'),
Some('њ'),
Some('Њ'),
Some('ћ'),
Some('Ћ'),
Some('ќ'),
Some('Ќ'), // 0x90-0x97
Some('ў'),
Some('Ў'),
Some('џ'),
Some('Џ'),
Some('ю'),
Some('Ю'),
Some('ъ'),
Some('Ъ'), // 0x98-0x9f
Some('а'),
Some('А'),
Some('б'),
Some('Б'),
Some('ц'),
Some('Ц'),
Some('д'),
Some('Д'), // 0xa0-0xa7
Some('е'),
Some('Е'),
Some('ф'),
Some('Ф'),
Some('г'),
Some('Г'),
Some('«'),
Some('»'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('х'),
Some('Х'),
Some('и'), // 0xb0-0xb7
Some('И'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('й'),
Some('Й'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('к'),
Some('К'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('¤'), // 0xc8-0xcf
Some('л'),
Some('Л'),
Some('м'),
Some('М'),
Some('н'),
Some('Н'),
Some('о'),
Some('О'), // 0xd0-0xd7
Some('п'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('П'),
Some('я'),
Some('▀'), // 0xd8-0xdf
Some('Я'),
Some('р'),
Some('Р'),
Some('с'),
Some('С'),
Some('т'),
Some('Т'),
Some('у'), // 0xe0-0xe7
Some('У'),
Some('ж'),
Some('Ж'),
Some('в'),
Some('В'),
Some('ь'),
Some('Ь'),
Some('№'), // 0xe8-0xef
Some('\u{00AD}'),
Some('ы'),
Some('Ы'),
Some('з'),
Some('З'),
Some('ш'),
Some('Ш'),
Some('э'), // 0xf0-0xf7
Some('Э'),
Some('щ'),
Some('Щ'),
Some('ч'),
Some('Ч'),
Some('§'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 857, byte value to Unicode scalar.
pub(crate) const CP857: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('Ç'),
Some('ü'),
Some('é'),
Some('â'),
Some('ä'),
Some('à'),
Some('å'),
Some('ç'), // 0x80-0x87
Some('ê'),
Some('ë'),
Some('è'),
Some('ï'),
Some('î'),
Some('ı'),
Some('Ä'),
Some('Å'), // 0x88-0x8f
Some('É'),
Some('æ'),
Some('Æ'),
Some('ô'),
Some('ö'),
Some('ò'),
Some('û'),
Some('ù'), // 0x90-0x97
Some('İ'),
Some('Ö'),
Some('Ü'),
Some('ø'),
Some('£'),
Some('Ø'),
Some('Ş'),
Some('ş'), // 0x98-0x9f
Some('á'),
Some('í'),
Some('ó'),
Some('ú'),
Some('ñ'),
Some('Ñ'),
Some('Ğ'),
Some('ğ'), // 0xa0-0xa7
Some('¿'),
Some('®'),
Some('¬'),
Some('½'),
Some('¼'),
Some('¡'),
Some('«'),
Some('»'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('Á'),
Some('Â'),
Some('À'), // 0xb0-0xb7
Some('©'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('¢'),
Some('¥'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('ã'),
Some('Ã'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('¤'), // 0xc8-0xcf
Some('º'),
Some('ª'),
Some('Ê'),
Some('Ë'),
Some('È'),
None,
Some('Í'),
Some('Î'), // 0xd0-0xd7
Some('Ï'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('¦'),
Some('Ì'),
Some('▀'), // 0xd8-0xdf
Some('Ó'),
Some('ß'),
Some('Ô'),
Some('Ò'),
Some('õ'),
Some('Õ'),
Some('µ'),
None, // 0xe0-0xe7
Some('×'),
Some('Ú'),
Some('Û'),
Some('Ù'),
Some('ì'),
Some('ÿ'),
Some('¯'),
Some('´'), // 0xe8-0xef
Some('\u{00AD}'),
Some('±'),
None,
Some('¾'),
Some('¶'),
Some('§'),
Some('÷'),
Some('¸'), // 0xf0-0xf7
Some('°'),
Some('¨'),
Some('·'),
Some('¹'),
Some('³'),
Some('²'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 860, byte value to Unicode scalar.
pub(crate) const CP860: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('Ç'),
Some('ü'),
Some('é'),
Some('â'),
Some('ã'),
Some('à'),
Some('Á'),
Some('ç'), // 0x80-0x87
Some('ê'),
Some('Ê'),
Some('è'),
Some('Í'),
Some('Ô'),
Some('ì'),
Some('Ã'),
Some('Â'), // 0x88-0x8f
Some('É'),
Some('À'),
Some('È'),
Some('ô'),
Some('õ'),
Some('ò'),
Some('Ú'),
Some('ù'), // 0x90-0x97
Some('Ì'),
Some('Õ'),
Some('Ü'),
Some('¢'),
Some('£'),
Some('Ù'),
Some('₧'),
Some('Ó'), // 0x98-0x9f
Some('á'),
Some('í'),
Some('ó'),
Some('ú'),
Some('ñ'),
Some('Ñ'),
Some('ª'),
Some('º'), // 0xa0-0xa7
Some('¿'),
Some('Ò'),
Some('¬'),
Some('½'),
Some('¼'),
Some('¡'),
Some('«'),
Some('»'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('╡'),
Some('╢'),
Some('╖'), // 0xb0-0xb7
Some('╕'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('╜'),
Some('╛'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('╞'),
Some('╟'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('╧'), // 0xc8-0xcf
Some('╨'),
Some('╤'),
Some('╥'),
Some('╙'),
Some('╘'),
Some('╒'),
Some('╓'),
Some('╫'), // 0xd0-0xd7
Some('╪'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('▌'),
Some('▐'),
Some('▀'), // 0xd8-0xdf
Some('α'),
Some('ß'),
Some('Γ'),
Some('π'),
Some('Σ'),
Some('σ'),
Some('µ'),
Some('τ'), // 0xe0-0xe7
Some('Φ'),
Some('Θ'),
Some('Ω'),
Some('δ'),
Some('∞'),
Some('φ'),
Some('ε'),
Some('∩'), // 0xe8-0xef
Some('≡'),
Some('±'),
Some('≥'),
Some('≤'),
Some('⌠'),
Some('⌡'),
Some('÷'),
Some('≈'), // 0xf0-0xf7
Some('°'),
Some('∙'),
Some('·'),
Some('√'),
Some('ⁿ'),
Some('²'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 861, byte value to Unicode scalar.
pub(crate) const CP861: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('Ç'),
Some('ü'),
Some('é'),
Some('â'),
Some('ä'),
Some('à'),
Some('å'),
Some('ç'), // 0x80-0x87
Some('ê'),
Some('ë'),
Some('è'),
Some('Ð'),
Some('ð'),
Some('Þ'),
Some('Ä'),
Some('Å'), // 0x88-0x8f
Some('É'),
Some('æ'),
Some('Æ'),
Some('ô'),
Some('ö'),
Some('þ'),
Some('û'),
Some('Ý'), // 0x90-0x97
Some('ý'),
Some('Ö'),
Some('Ü'),
Some('ø'),
Some('£'),
Some('Ø'),
Some('₧'),
Some('ƒ'), // 0x98-0x9f
Some('á'),
Some('í'),
Some('ó'),
Some('ú'),
Some('Á'),
Some('Í'),
Some('Ó'),
Some('Ú'), // 0xa0-0xa7
Some('¿'),
Some('⌐'),
Some('¬'),
Some('½'),
Some('¼'),
Some('¡'),
Some('«'),
Some('»'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('╡'),
Some('╢'),
Some('╖'), // 0xb0-0xb7
Some('╕'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('╜'),
Some('╛'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('╞'),
Some('╟'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('╧'), // 0xc8-0xcf
Some('╨'),
Some('╤'),
Some('╥'),
Some('╙'),
Some('╘'),
Some('╒'),
Some('╓'),
Some('╫'), // 0xd0-0xd7
Some('╪'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('▌'),
Some('▐'),
Some('▀'), // 0xd8-0xdf
Some('α'),
Some('ß'),
Some('Γ'),
Some('π'),
Some('Σ'),
Some('σ'),
Some('µ'),
Some('τ'), // 0xe0-0xe7
Some('Φ'),
Some('Θ'),
Some('Ω'),
Some('δ'),
Some('∞'),
Some('φ'),
Some('ε'),
Some('∩'), // 0xe8-0xef
Some('≡'),
Some('±'),
Some('≥'),
Some('≤'),
Some('⌠'),
Some('⌡'),
Some('÷'),
Some('≈'), // 0xf0-0xf7
Some('°'),
Some('∙'),
Some('·'),
Some('√'),
Some('ⁿ'),
Some('²'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 862, byte value to Unicode scalar.
pub(crate) const CP862: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('א'),
Some('ב'),
Some('ג'),
Some('ד'),
Some('ה'),
Some('ו'),
Some('ז'),
Some('ח'), // 0x80-0x87
Some('ט'),
Some('י'),
Some('ך'),
Some('כ'),
Some('ל'),
Some('ם'),
Some('מ'),
Some('ן'), // 0x88-0x8f
Some('נ'),
Some('ס'),
Some('ע'),
Some('ף'),
Some('פ'),
Some('ץ'),
Some('צ'),
Some('ק'), // 0x90-0x97
Some('ר'),
Some('ש'),
Some('ת'),
Some('¢'),
Some('£'),
Some('¥'),
Some('₧'),
Some('ƒ'), // 0x98-0x9f
Some('á'),
Some('í'),
Some('ó'),
Some('ú'),
Some('ñ'),
Some('Ñ'),
Some('ª'),
Some('º'), // 0xa0-0xa7
Some('¿'),
Some('⌐'),
Some('¬'),
Some('½'),
Some('¼'),
Some('¡'),
Some('«'),
Some('»'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('╡'),
Some('╢'),
Some('╖'), // 0xb0-0xb7
Some('╕'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('╜'),
Some('╛'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('╞'),
Some('╟'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('╧'), // 0xc8-0xcf
Some('╨'),
Some('╤'),
Some('╥'),
Some('╙'),
Some('╘'),
Some('╒'),
Some('╓'),
Some('╫'), // 0xd0-0xd7
Some('╪'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('▌'),
Some('▐'),
Some('▀'), // 0xd8-0xdf
Some('α'),
Some('ß'),
Some('Γ'),
Some('π'),
Some('Σ'),
Some('σ'),
Some('µ'),
Some('τ'), // 0xe0-0xe7
Some('Φ'),
Some('Θ'),
Some('Ω'),
Some('δ'),
Some('∞'),
Some('φ'),
Some('ε'),
Some('∩'), // 0xe8-0xef
Some('≡'),
Some('±'),
Some('≥'),
Some('≤'),
Some('⌠'),
Some('⌡'),
Some('÷'),
Some('≈'), // 0xf0-0xf7
Some('°'),
Some('∙'),
Some('·'),
Some('√'),
Some('ⁿ'),
Some('²'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 863, byte value to Unicode scalar.
pub(crate) const CP863: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('Ç'),
Some('ü'),
Some('é'),
Some('â'),
Some('Â'),
Some('à'),
Some('¶'),
Some('ç'), // 0x80-0x87
Some('ê'),
Some('ë'),
Some('è'),
Some('ï'),
Some('î'),
Some('‗'),
Some('À'),
Some('§'), // 0x88-0x8f
Some('É'),
Some('È'),
Some('Ê'),
Some('ô'),
Some('Ë'),
Some('Ï'),
Some('û'),
Some('ù'), // 0x90-0x97
Some('¤'),
Some('Ô'),
Some('Ü'),
Some('¢'),
Some('£'),
Some('Ù'),
Some('Û'),
Some('ƒ'), // 0x98-0x9f
Some('¦'),
Some('´'),
Some('ó'),
Some('ú'),
Some('¨'),
Some('¸'),
Some('³'),
Some('¯'), // 0xa0-0xa7
Some('Î'),
Some('⌐'),
Some('¬'),
Some('½'),
Some('¼'),
Some('¾'),
Some('«'),
Some('»'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('╡'),
Some('╢'),
Some('╖'), // 0xb0-0xb7
Some('╕'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('╜'),
Some('╛'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('╞'),
Some('╟'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('╧'), // 0xc8-0xcf
Some('╨'),
Some('╤'),
Some('╥'),
Some('╙'),
Some('╘'),
Some('╒'),
Some('╓'),
Some('╫'), // 0xd0-0xd7
Some('╪'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('▌'),
Some('▐'),
Some('▀'), // 0xd8-0xdf
Some('α'),
Some('ß'),
Some('Γ'),
Some('π'),
Some('Σ'),
Some('σ'),
Some('µ'),
Some('τ'), // 0xe0-0xe7
Some('Φ'),
Some('Θ'),
Some('Ω'),
Some('δ'),
Some('∞'),
Some('φ'),
Some('ε'),
Some('∩'), // 0xe8-0xef
Some('≡'),
Some('±'),
Some('≥'),
Some('≤'),
Some('⌠'),
Some('⌡'),
Some('÷'),
Some('≈'), // 0xf0-0xf7
Some('°'),
Some('∙'),
Some('·'),
Some('√'),
Some('ⁿ'),
Some('²'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 864, byte value to Unicode scalar.
pub(crate) const CP864: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('٪'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('°'),
Some('·'),
Some('∙'),
Some('√'),
Some('▒'),
Some('─'),
Some('│'),
Some('┼'), // 0x80-0x87
Some('┤'),
Some('┬'),
Some('├'),
Some('┴'),
Some('┐'),
Some('┌'),
Some('└'),
Some('┘'), // 0x88-0x8f
Some('β'),
Some('∞'),
Some('φ'),
Some('±'),
Some('½'),
Some('¼'),
Some('≈'),
Some('«'), // 0x90-0x97
Some('»'),
Some('ﻷ'),
Some('ﻸ'),
None,
None,
Some('ﻻ'),
Some('ﻼ'),
None, // 0x98-0x9f
Some('\u{00A0}'),
Some('\u{00AD}'),
Some('ﺂ'),
Some('£'),
Some('¤'),
Some('ﺄ'),
None,
None, // 0xa0-0xa7
Some(''),
Some('ﺏ'),
Some('ﺕ'),
Some('ﺙ'),
Some('،'),
Some('ﺝ'),
Some('ﺡ'),
Some('ﺥ'), // 0xa8-0xaf
Some('٠'),
Some('١'),
Some('٢'),
Some('٣'),
Some('٤'),
Some('٥'),
Some('٦'),
Some('٧'), // 0xb0-0xb7
Some('٨'),
Some('٩'),
Some('ﻑ'),
Some('؛'),
Some('ﺱ'),
Some('ﺵ'),
Some('ﺹ'),
Some('؟'), // 0xb8-0xbf
Some('¢'),
Some('ﺀ'),
Some('ﺁ'),
Some('ﺃ'),
Some('ﺅ'),
Some('ﻊ'),
Some('ﺋ'),
Some(''), // 0xc0-0xc7
Some('ﺑ'),
Some('ﺓ'),
Some('ﺗ'),
Some('ﺛ'),
Some('ﺟ'),
Some('ﺣ'),
Some('ﺧ'),
Some('ﺩ'), // 0xc8-0xcf
Some('ﺫ'),
Some('ﺭ'),
Some('ﺯ'),
Some('ﺳ'),
Some('ﺷ'),
Some('ﺻ'),
Some('ﺿ'),
Some('ﻁ'), // 0xd0-0xd7
Some('ﻅ'),
Some('ﻋ'),
Some('ﻏ'),
Some('¦'),
Some('¬'),
Some('÷'),
Some('×'),
Some('ﻉ'), // 0xd8-0xdf
Some('ـ'),
Some('ﻓ'),
Some('ﻗ'),
Some('ﻛ'),
Some('ﻟ'),
Some('ﻣ'),
Some('ﻧ'),
Some(''), // 0xe0-0xe7
Some('ﻭ'),
Some('ﻯ'),
Some('ﻳ'),
Some('ﺽ'),
Some('ﻌ'),
Some('ﻎ'),
Some('ﻍ'),
Some('ﻡ'), // 0xe8-0xef
Some('ﹽ'),
Some('ّ'),
Some('ﻥ'),
Some(''),
Some(''),
Some('ﻰ'),
Some('ﻲ'),
Some('ﻐ'), // 0xf0-0xf7
Some('ﻕ'),
Some('ﻵ'),
Some('ﻶ'),
Some('ﻝ'),
Some('ﻙ'),
Some('ﻱ'),
Some('■'),
None, // 0xf8-0xff
];
/// Code page 865, byte value to Unicode scalar.
pub(crate) const CP865: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('Ç'),
Some('ü'),
Some('é'),
Some('â'),
Some('ä'),
Some('à'),
Some('å'),
Some('ç'), // 0x80-0x87
Some('ê'),
Some('ë'),
Some('è'),
Some('ï'),
Some('î'),
Some('ì'),
Some('Ä'),
Some('Å'), // 0x88-0x8f
Some('É'),
Some('æ'),
Some('Æ'),
Some('ô'),
Some('ö'),
Some('ò'),
Some('û'),
Some('ù'), // 0x90-0x97
Some('ÿ'),
Some('Ö'),
Some('Ü'),
Some('ø'),
Some('£'),
Some('Ø'),
Some('₧'),
Some('ƒ'), // 0x98-0x9f
Some('á'),
Some('í'),
Some('ó'),
Some('ú'),
Some('ñ'),
Some('Ñ'),
Some('ª'),
Some('º'), // 0xa0-0xa7
Some('¿'),
Some('⌐'),
Some('¬'),
Some('½'),
Some('¼'),
Some('¡'),
Some('«'),
Some('¤'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('╡'),
Some('╢'),
Some('╖'), // 0xb0-0xb7
Some('╕'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('╜'),
Some('╛'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('╞'),
Some('╟'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('╧'), // 0xc8-0xcf
Some('╨'),
Some('╤'),
Some('╥'),
Some('╙'),
Some('╘'),
Some('╒'),
Some('╓'),
Some('╫'), // 0xd0-0xd7
Some('╪'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('▌'),
Some('▐'),
Some('▀'), // 0xd8-0xdf
Some('α'),
Some('ß'),
Some('Γ'),
Some('π'),
Some('Σ'),
Some('σ'),
Some('µ'),
Some('τ'), // 0xe0-0xe7
Some('Φ'),
Some('Θ'),
Some('Ω'),
Some('δ'),
Some('∞'),
Some('φ'),
Some('ε'),
Some('∩'), // 0xe8-0xef
Some('≡'),
Some('±'),
Some('≥'),
Some('≤'),
Some('⌠'),
Some('⌡'),
Some('÷'),
Some('≈'), // 0xf0-0xf7
Some('°'),
Some('∙'),
Some('·'),
Some('√'),
Some('ⁿ'),
Some('²'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 866, byte value to Unicode scalar.
pub(crate) const CP866: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('А'),
Some('Б'),
Some('В'),
Some('Г'),
Some('Д'),
Some('Е'),
Some('Ж'),
Some('З'), // 0x80-0x87
Some('И'),
Some('Й'),
Some('К'),
Some('Л'),
Some('М'),
Some('Н'),
Some('О'),
Some('П'), // 0x88-0x8f
Some('Р'),
Some('С'),
Some('Т'),
Some('У'),
Some('Ф'),
Some('Х'),
Some('Ц'),
Some('Ч'), // 0x90-0x97
Some('Ш'),
Some('Щ'),
Some('Ъ'),
Some('Ы'),
Some('Ь'),
Some('Э'),
Some('Ю'),
Some('Я'), // 0x98-0x9f
Some('а'),
Some('б'),
Some('в'),
Some('г'),
Some('д'),
Some('е'),
Some('ж'),
Some('з'), // 0xa0-0xa7
Some('и'),
Some('й'),
Some('к'),
Some('л'),
Some('м'),
Some('н'),
Some('о'),
Some('п'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('╡'),
Some('╢'),
Some('╖'), // 0xb0-0xb7
Some('╕'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('╜'),
Some('╛'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('╞'),
Some('╟'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('╧'), // 0xc8-0xcf
Some('╨'),
Some('╤'),
Some('╥'),
Some('╙'),
Some('╘'),
Some('╒'),
Some('╓'),
Some('╫'), // 0xd0-0xd7
Some('╪'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('▌'),
Some('▐'),
Some('▀'), // 0xd8-0xdf
Some('р'),
Some('с'),
Some('т'),
Some('у'),
Some('ф'),
Some('х'),
Some('ц'),
Some('ч'), // 0xe0-0xe7
Some('ш'),
Some('щ'),
Some('ъ'),
Some('ы'),
Some('ь'),
Some('э'),
Some('ю'),
Some('я'), // 0xe8-0xef
Some('Ё'),
Some('ё'),
Some('Є'),
Some('є'),
Some('Ї'),
Some('ї'),
Some('Ў'),
Some('ў'), // 0xf0-0xf7
Some('°'),
Some('∙'),
Some('·'),
Some('√'),
Some('№'),
Some('¤'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 869, byte value to Unicode scalar.
pub(crate) const CP869: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
None,
None,
None,
None,
None,
None,
Some('Ά'),
None, // 0x80-0x87
Some('·'),
Some('¬'),
Some('¦'),
Some(''),
Some(''),
Some('Έ'),
Some('―'),
Some('Ή'), // 0x88-0x8f
Some('Ί'),
Some('Ϊ'),
Some('Ό'),
None,
None,
Some('Ύ'),
Some('Ϋ'),
Some('©'), // 0x90-0x97
Some('Ώ'),
Some('²'),
Some('³'),
Some('ά'),
Some('£'),
Some('έ'),
Some('ή'),
Some('ί'), // 0x98-0x9f
Some('ϊ'),
Some('ΐ'),
Some('ό'),
Some('ύ'),
Some('Α'),
Some('Β'),
Some('Γ'),
Some('Δ'), // 0xa0-0xa7
Some('Ε'),
Some('Ζ'),
Some('Η'),
Some('½'),
Some('Θ'),
Some('Ι'),
Some('«'),
Some('»'), // 0xa8-0xaf
Some('░'),
Some('▒'),
Some('▓'),
Some('│'),
Some('┤'),
Some('Κ'),
Some('Λ'),
Some('Μ'), // 0xb0-0xb7
Some('Ν'),
Some('╣'),
Some('║'),
Some('╗'),
Some('╝'),
Some('Ξ'),
Some('Ο'),
Some('┐'), // 0xb8-0xbf
Some('└'),
Some('┴'),
Some('┬'),
Some('├'),
Some('─'),
Some('┼'),
Some('Π'),
Some('Ρ'), // 0xc0-0xc7
Some('╚'),
Some('╔'),
Some('╩'),
Some('╦'),
Some('╠'),
Some('═'),
Some('╬'),
Some('Σ'), // 0xc8-0xcf
Some('Τ'),
Some('Υ'),
Some('Φ'),
Some('Χ'),
Some('Ψ'),
Some('Ω'),
Some('α'),
Some('β'), // 0xd0-0xd7
Some('γ'),
Some('┘'),
Some('┌'),
Some('█'),
Some('▄'),
Some('δ'),
Some('ε'),
Some('▀'), // 0xd8-0xdf
Some('ζ'),
Some('η'),
Some('θ'),
Some('ι'),
Some('κ'),
Some('λ'),
Some('μ'),
Some('ν'), // 0xe0-0xe7
Some('ξ'),
Some('ο'),
Some('π'),
Some('ρ'),
Some('σ'),
Some('ς'),
Some('τ'),
Some('΄'), // 0xe8-0xef
Some('\u{00AD}'),
Some('±'),
Some('υ'),
Some('φ'),
Some('χ'),
Some('§'),
Some('ψ'),
Some('΅'), // 0xf0-0xf7
Some('°'),
Some('¨'),
Some('ω'),
Some('ϋ'),
Some('ΰ'),
Some('ώ'),
Some('■'),
Some('\u{00A0}'), // 0xf8-0xff
];
/// Code page 874, byte value to Unicode scalar.
pub(crate) const CP874: [Option<char>; 256] = [
Some('\u{0000}'),
Some('\u{0001}'),
Some('\u{0002}'),
Some('\u{0003}'),
Some('\u{0004}'),
Some('\u{0005}'),
Some('\u{0006}'),
Some('\u{0007}'), // 0x00-0x07
Some('\u{0008}'),
Some('\u{0009}'),
Some('\u{000A}'),
Some('\u{000B}'),
Some('\u{000C}'),
Some('\u{000D}'),
Some('\u{000E}'),
Some('\u{000F}'), // 0x08-0x0f
Some('\u{0010}'),
Some('\u{0011}'),
Some('\u{0012}'),
Some('\u{0013}'),
Some('\u{0014}'),
Some('\u{0015}'),
Some('\u{0016}'),
Some('\u{0017}'), // 0x10-0x17
Some('\u{0018}'),
Some('\u{0019}'),
Some('\u{001A}'),
Some('\u{001B}'),
Some('\u{001C}'),
Some('\u{001D}'),
Some('\u{001E}'),
Some('\u{001F}'), // 0x18-0x1f
Some(' '),
Some('!'),
Some('"'),
Some('#'),
Some('$'),
Some('%'),
Some('&'),
Some('\u{0027}'), // 0x20-0x27
Some('('),
Some(')'),
Some('*'),
Some('+'),
Some(','),
Some('-'),
Some('.'),
Some('/'), // 0x28-0x2f
Some('0'),
Some('1'),
Some('2'),
Some('3'),
Some('4'),
Some('5'),
Some('6'),
Some('7'), // 0x30-0x37
Some('8'),
Some('9'),
Some(':'),
Some(';'),
Some('<'),
Some('='),
Some('>'),
Some('?'), // 0x38-0x3f
Some('@'),
Some('A'),
Some('B'),
Some('C'),
Some('D'),
Some('E'),
Some('F'),
Some('G'), // 0x40-0x47
Some('H'),
Some('I'),
Some('J'),
Some('K'),
Some('L'),
Some('M'),
Some('N'),
Some('O'), // 0x48-0x4f
Some('P'),
Some('Q'),
Some('R'),
Some('S'),
Some('T'),
Some('U'),
Some('V'),
Some('W'), // 0x50-0x57
Some('X'),
Some('Y'),
Some('Z'),
Some('['),
Some('\u{005C}'),
Some(']'),
Some('^'),
Some('_'), // 0x58-0x5f
Some('`'),
Some('a'),
Some('b'),
Some('c'),
Some('d'),
Some('e'),
Some('f'),
Some('g'), // 0x60-0x67
Some('h'),
Some('i'),
Some('j'),
Some('k'),
Some('l'),
Some('m'),
Some('n'),
Some('o'), // 0x68-0x6f
Some('p'),
Some('q'),
Some('r'),
Some('s'),
Some('t'),
Some('u'),
Some('v'),
Some('w'), // 0x70-0x77
Some('x'),
Some('y'),
Some('z'),
Some('{'),
Some('|'),
Some('}'),
Some('~'),
Some('\u{007F}'), // 0x78-0x7f
Some('€'),
None,
None,
None,
None,
Some('…'),
None,
None, // 0x80-0x87
None,
None,
None,
None,
None,
None,
None,
None, // 0x88-0x8f
None,
Some(''),
Some(''),
Some('“'),
Some('”'),
Some('•'),
Some(''),
Some('—'), // 0x90-0x97
None,
None,
None,
None,
None,
None,
None,
None, // 0x98-0x9f
Some('\u{00A0}'),
Some('ก'),
Some('ข'),
Some('ฃ'),
Some('ค'),
Some('ฅ'),
Some('ฆ'),
Some('ง'), // 0xa0-0xa7
Some('จ'),
Some('ฉ'),
Some('ช'),
Some('ซ'),
Some('ฌ'),
Some('ญ'),
Some('ฎ'),
Some('ฏ'), // 0xa8-0xaf
Some('ฐ'),
Some('ฑ'),
Some('ฒ'),
Some('ณ'),
Some('ด'),
Some('ต'),
Some('ถ'),
Some('ท'), // 0xb0-0xb7
Some('ธ'),
Some('น'),
Some('บ'),
Some('ป'),
Some('ผ'),
Some('ฝ'),
Some('พ'),
Some('ฟ'), // 0xb8-0xbf
Some('ภ'),
Some('ม'),
Some('ย'),
Some('ร'),
Some('ฤ'),
Some('ล'),
Some('ฦ'),
Some('ว'), // 0xc0-0xc7
Some('ศ'),
Some('ษ'),
Some('ส'),
Some('ห'),
Some('ฬ'),
Some('อ'),
Some('ฮ'),
Some('ฯ'), // 0xc8-0xcf
Some('ะ'),
Some('ั'),
Some('า'),
Some('ำ'),
Some('ิ'),
Some('ี'),
Some('ึ'),
Some('ื'), // 0xd0-0xd7
Some('ุ'),
Some('ู'),
Some('ฺ'),
None,
None,
None,
None,
Some('฿'), // 0xd8-0xdf
Some('เ'),
Some('แ'),
Some('โ'),
Some('ใ'),
Some('ไ'),
Some('ๅ'),
Some('ๆ'),
Some('็'), // 0xe0-0xe7
Some('่'),
Some('้'),
Some('๊'),
Some('๋'),
Some('์'),
Some('ํ'),
Some('๎'),
Some('๏'), // 0xe8-0xef
Some(''),
Some('๑'),
Some('๒'),
Some('๓'),
Some('๔'),
Some('๕'),
Some('๖'),
Some('๗'), // 0xf0-0xf7
Some('๘'),
Some('๙'),
Some('๚'),
Some('๛'),
None,
None,
None,
None, // 0xf8-0xff
];