charcode 0.1.0

Character encoding conversion implementing the WHATWG Encoding Standard, with no external dependencies.
Documentation
// @generated by tools/generate_tables.py from the WHATWG Encoding Standard indexes.
// https://encoding.spec.whatwg.org/indexes.json
// Do not edit by hand; re-run the generator instead.

//! Every label defined by the standard, sorted for binary search.

use crate::Encoding;
use crate::encodings as e;

/// `(label, encoding)` pairs, sorted by label.  Labels are already lowercase and
/// trimmed; callers must normalize before searching.
pub static LABELS: [(&str, &Encoding); 228] = [
    ("866", &e::IBM866_INIT),
    ("ansi_x3.4-1968", &e::WINDOWS_1252_INIT),
    ("arabic", &e::ISO_8859_6_INIT),
    ("ascii", &e::WINDOWS_1252_INIT),
    ("asmo-708", &e::ISO_8859_6_INIT),
    ("big5", &e::BIG5_INIT),
    ("big5-hkscs", &e::BIG5_INIT),
    ("chinese", &e::GBK_INIT),
    ("cn-big5", &e::BIG5_INIT),
    ("cp1250", &e::WINDOWS_1250_INIT),
    ("cp1251", &e::WINDOWS_1251_INIT),
    ("cp1252", &e::WINDOWS_1252_INIT),
    ("cp1253", &e::WINDOWS_1253_INIT),
    ("cp1254", &e::WINDOWS_1254_INIT),
    ("cp1255", &e::WINDOWS_1255_INIT),
    ("cp1256", &e::WINDOWS_1256_INIT),
    ("cp1257", &e::WINDOWS_1257_INIT),
    ("cp1258", &e::WINDOWS_1258_INIT),
    ("cp819", &e::WINDOWS_1252_INIT),
    ("cp866", &e::IBM866_INIT),
    ("csbig5", &e::BIG5_INIT),
    ("cseuckr", &e::EUC_KR_INIT),
    ("cseucpkdfmtjapanese", &e::EUC_JP_INIT),
    ("csgb2312", &e::GBK_INIT),
    ("csibm866", &e::IBM866_INIT),
    ("csiso2022jp", &e::ISO_2022_JP_INIT),
    ("csiso2022kr", &e::REPLACEMENT_INIT),
    ("csiso58gb231280", &e::GBK_INIT),
    ("csiso88596e", &e::ISO_8859_6_INIT),
    ("csiso88596i", &e::ISO_8859_6_INIT),
    ("csiso88598e", &e::ISO_8859_8_INIT),
    ("csiso88598i", &e::ISO_8859_8_I_INIT),
    ("csisolatin1", &e::WINDOWS_1252_INIT),
    ("csisolatin2", &e::ISO_8859_2_INIT),
    ("csisolatin3", &e::ISO_8859_3_INIT),
    ("csisolatin4", &e::ISO_8859_4_INIT),
    ("csisolatin5", &e::WINDOWS_1254_INIT),
    ("csisolatin6", &e::ISO_8859_10_INIT),
    ("csisolatin9", &e::ISO_8859_15_INIT),
    ("csisolatinarabic", &e::ISO_8859_6_INIT),
    ("csisolatincyrillic", &e::ISO_8859_5_INIT),
    ("csisolatingreek", &e::ISO_8859_7_INIT),
    ("csisolatinhebrew", &e::ISO_8859_8_INIT),
    ("cskoi8r", &e::KOI8_R_INIT),
    ("csksc56011987", &e::EUC_KR_INIT),
    ("csmacintosh", &e::MACINTOSH_INIT),
    ("csshiftjis", &e::SHIFT_JIS_INIT),
    ("csunicode", &e::UTF_16LE_INIT),
    ("cyrillic", &e::ISO_8859_5_INIT),
    ("dos-874", &e::WINDOWS_874_INIT),
    ("ecma-114", &e::ISO_8859_6_INIT),
    ("ecma-118", &e::ISO_8859_7_INIT),
    ("elot_928", &e::ISO_8859_7_INIT),
    ("euc-jp", &e::EUC_JP_INIT),
    ("euc-kr", &e::EUC_KR_INIT),
    ("gb18030", &e::GB18030_INIT),
    ("gb2312", &e::GBK_INIT),
    ("gb_2312", &e::GBK_INIT),
    ("gb_2312-80", &e::GBK_INIT),
    ("gbk", &e::GBK_INIT),
    ("greek", &e::ISO_8859_7_INIT),
    ("greek8", &e::ISO_8859_7_INIT),
    ("hebrew", &e::ISO_8859_8_INIT),
    ("hz-gb-2312", &e::REPLACEMENT_INIT),
    ("ibm819", &e::WINDOWS_1252_INIT),
    ("ibm866", &e::IBM866_INIT),
    ("iso-10646-ucs-2", &e::UTF_16LE_INIT),
    ("iso-2022-cn", &e::REPLACEMENT_INIT),
    ("iso-2022-cn-ext", &e::REPLACEMENT_INIT),
    ("iso-2022-jp", &e::ISO_2022_JP_INIT),
    ("iso-2022-kr", &e::REPLACEMENT_INIT),
    ("iso-8859-1", &e::WINDOWS_1252_INIT),
    ("iso-8859-10", &e::ISO_8859_10_INIT),
    ("iso-8859-11", &e::WINDOWS_874_INIT),
    ("iso-8859-13", &e::ISO_8859_13_INIT),
    ("iso-8859-14", &e::ISO_8859_14_INIT),
    ("iso-8859-15", &e::ISO_8859_15_INIT),
    ("iso-8859-16", &e::ISO_8859_16_INIT),
    ("iso-8859-2", &e::ISO_8859_2_INIT),
    ("iso-8859-3", &e::ISO_8859_3_INIT),
    ("iso-8859-4", &e::ISO_8859_4_INIT),
    ("iso-8859-5", &e::ISO_8859_5_INIT),
    ("iso-8859-6", &e::ISO_8859_6_INIT),
    ("iso-8859-6-e", &e::ISO_8859_6_INIT),
    ("iso-8859-6-i", &e::ISO_8859_6_INIT),
    ("iso-8859-7", &e::ISO_8859_7_INIT),
    ("iso-8859-8", &e::ISO_8859_8_INIT),
    ("iso-8859-8-e", &e::ISO_8859_8_INIT),
    ("iso-8859-8-i", &e::ISO_8859_8_I_INIT),
    ("iso-8859-9", &e::WINDOWS_1254_INIT),
    ("iso-ir-100", &e::WINDOWS_1252_INIT),
    ("iso-ir-101", &e::ISO_8859_2_INIT),
    ("iso-ir-109", &e::ISO_8859_3_INIT),
    ("iso-ir-110", &e::ISO_8859_4_INIT),
    ("iso-ir-126", &e::ISO_8859_7_INIT),
    ("iso-ir-127", &e::ISO_8859_6_INIT),
    ("iso-ir-138", &e::ISO_8859_8_INIT),
    ("iso-ir-144", &e::ISO_8859_5_INIT),
    ("iso-ir-148", &e::WINDOWS_1254_INIT),
    ("iso-ir-149", &e::EUC_KR_INIT),
    ("iso-ir-157", &e::ISO_8859_10_INIT),
    ("iso-ir-58", &e::GBK_INIT),
    ("iso8859-1", &e::WINDOWS_1252_INIT),
    ("iso8859-10", &e::ISO_8859_10_INIT),
    ("iso8859-11", &e::WINDOWS_874_INIT),
    ("iso8859-13", &e::ISO_8859_13_INIT),
    ("iso8859-14", &e::ISO_8859_14_INIT),
    ("iso8859-15", &e::ISO_8859_15_INIT),
    ("iso8859-2", &e::ISO_8859_2_INIT),
    ("iso8859-3", &e::ISO_8859_3_INIT),
    ("iso8859-4", &e::ISO_8859_4_INIT),
    ("iso8859-5", &e::ISO_8859_5_INIT),
    ("iso8859-6", &e::ISO_8859_6_INIT),
    ("iso8859-7", &e::ISO_8859_7_INIT),
    ("iso8859-8", &e::ISO_8859_8_INIT),
    ("iso8859-9", &e::WINDOWS_1254_INIT),
    ("iso88591", &e::WINDOWS_1252_INIT),
    ("iso885910", &e::ISO_8859_10_INIT),
    ("iso885911", &e::WINDOWS_874_INIT),
    ("iso885913", &e::ISO_8859_13_INIT),
    ("iso885914", &e::ISO_8859_14_INIT),
    ("iso885915", &e::ISO_8859_15_INIT),
    ("iso88592", &e::ISO_8859_2_INIT),
    ("iso88593", &e::ISO_8859_3_INIT),
    ("iso88594", &e::ISO_8859_4_INIT),
    ("iso88595", &e::ISO_8859_5_INIT),
    ("iso88596", &e::ISO_8859_6_INIT),
    ("iso88597", &e::ISO_8859_7_INIT),
    ("iso88598", &e::ISO_8859_8_INIT),
    ("iso88599", &e::WINDOWS_1254_INIT),
    ("iso_8859-1", &e::WINDOWS_1252_INIT),
    ("iso_8859-15", &e::ISO_8859_15_INIT),
    ("iso_8859-1:1987", &e::WINDOWS_1252_INIT),
    ("iso_8859-2", &e::ISO_8859_2_INIT),
    ("iso_8859-2:1987", &e::ISO_8859_2_INIT),
    ("iso_8859-3", &e::ISO_8859_3_INIT),
    ("iso_8859-3:1988", &e::ISO_8859_3_INIT),
    ("iso_8859-4", &e::ISO_8859_4_INIT),
    ("iso_8859-4:1988", &e::ISO_8859_4_INIT),
    ("iso_8859-5", &e::ISO_8859_5_INIT),
    ("iso_8859-5:1988", &e::ISO_8859_5_INIT),
    ("iso_8859-6", &e::ISO_8859_6_INIT),
    ("iso_8859-6:1987", &e::ISO_8859_6_INIT),
    ("iso_8859-7", &e::ISO_8859_7_INIT),
    ("iso_8859-7:1987", &e::ISO_8859_7_INIT),
    ("iso_8859-8", &e::ISO_8859_8_INIT),
    ("iso_8859-8:1988", &e::ISO_8859_8_INIT),
    ("iso_8859-9", &e::WINDOWS_1254_INIT),
    ("iso_8859-9:1989", &e::WINDOWS_1254_INIT),
    ("koi", &e::KOI8_R_INIT),
    ("koi8", &e::KOI8_R_INIT),
    ("koi8-r", &e::KOI8_R_INIT),
    ("koi8-ru", &e::KOI8_U_INIT),
    ("koi8-u", &e::KOI8_U_INIT),
    ("koi8_r", &e::KOI8_R_INIT),
    ("korean", &e::EUC_KR_INIT),
    ("ks_c_5601-1987", &e::EUC_KR_INIT),
    ("ks_c_5601-1989", &e::EUC_KR_INIT),
    ("ksc5601", &e::EUC_KR_INIT),
    ("ksc_5601", &e::EUC_KR_INIT),
    ("l1", &e::WINDOWS_1252_INIT),
    ("l2", &e::ISO_8859_2_INIT),
    ("l3", &e::ISO_8859_3_INIT),
    ("l4", &e::ISO_8859_4_INIT),
    ("l5", &e::WINDOWS_1254_INIT),
    ("l6", &e::ISO_8859_10_INIT),
    ("l9", &e::ISO_8859_15_INIT),
    ("latin1", &e::WINDOWS_1252_INIT),
    ("latin2", &e::ISO_8859_2_INIT),
    ("latin3", &e::ISO_8859_3_INIT),
    ("latin4", &e::ISO_8859_4_INIT),
    ("latin5", &e::WINDOWS_1254_INIT),
    ("latin6", &e::ISO_8859_10_INIT),
    ("logical", &e::ISO_8859_8_I_INIT),
    ("mac", &e::MACINTOSH_INIT),
    ("macintosh", &e::MACINTOSH_INIT),
    ("ms932", &e::SHIFT_JIS_INIT),
    ("ms_kanji", &e::SHIFT_JIS_INIT),
    ("replacement", &e::REPLACEMENT_INIT),
    ("shift-jis", &e::SHIFT_JIS_INIT),
    ("shift_jis", &e::SHIFT_JIS_INIT),
    ("sjis", &e::SHIFT_JIS_INIT),
    ("sun_eu_greek", &e::ISO_8859_7_INIT),
    ("tis-620", &e::WINDOWS_874_INIT),
    ("ucs-2", &e::UTF_16LE_INIT),
    ("unicode", &e::UTF_16LE_INIT),
    ("unicode-1-1-utf-8", &e::UTF_8_INIT),
    ("unicode11utf8", &e::UTF_8_INIT),
    ("unicode20utf8", &e::UTF_8_INIT),
    ("unicodefeff", &e::UTF_16LE_INIT),
    ("unicodefffe", &e::UTF_16BE_INIT),
    ("us-ascii", &e::WINDOWS_1252_INIT),
    ("utf-16", &e::UTF_16LE_INIT),
    ("utf-16be", &e::UTF_16BE_INIT),
    ("utf-16le", &e::UTF_16LE_INIT),
    ("utf-8", &e::UTF_8_INIT),
    ("utf8", &e::UTF_8_INIT),
    ("visual", &e::ISO_8859_8_INIT),
    ("windows-1250", &e::WINDOWS_1250_INIT),
    ("windows-1251", &e::WINDOWS_1251_INIT),
    ("windows-1252", &e::WINDOWS_1252_INIT),
    ("windows-1253", &e::WINDOWS_1253_INIT),
    ("windows-1254", &e::WINDOWS_1254_INIT),
    ("windows-1255", &e::WINDOWS_1255_INIT),
    ("windows-1256", &e::WINDOWS_1256_INIT),
    ("windows-1257", &e::WINDOWS_1257_INIT),
    ("windows-1258", &e::WINDOWS_1258_INIT),
    ("windows-31j", &e::SHIFT_JIS_INIT),
    ("windows-874", &e::WINDOWS_874_INIT),
    ("windows-949", &e::EUC_KR_INIT),
    ("x-cp1250", &e::WINDOWS_1250_INIT),
    ("x-cp1251", &e::WINDOWS_1251_INIT),
    ("x-cp1252", &e::WINDOWS_1252_INIT),
    ("x-cp1253", &e::WINDOWS_1253_INIT),
    ("x-cp1254", &e::WINDOWS_1254_INIT),
    ("x-cp1255", &e::WINDOWS_1255_INIT),
    ("x-cp1256", &e::WINDOWS_1256_INIT),
    ("x-cp1257", &e::WINDOWS_1257_INIT),
    ("x-cp1258", &e::WINDOWS_1258_INIT),
    ("x-euc-jp", &e::EUC_JP_INIT),
    ("x-gbk", &e::GBK_INIT),
    ("x-mac-cyrillic", &e::X_MAC_CYRILLIC_INIT),
    ("x-mac-roman", &e::MACINTOSH_INIT),
    ("x-mac-ukrainian", &e::X_MAC_CYRILLIC_INIT),
    ("x-sjis", &e::SHIFT_JIS_INIT),
    ("x-unicode20utf8", &e::UTF_8_INIT),
    ("x-user-defined", &e::X_USER_DEFINED_INIT),
    ("x-x-big5", &e::BIG5_INIT),
];

/// Every encoding defined by the standard, in specification order.
pub static ALL_ENCODINGS: [&Encoding; 40] = [
    &e::UTF_8_INIT,
    &e::IBM866_INIT,
    &e::ISO_8859_2_INIT,
    &e::ISO_8859_3_INIT,
    &e::ISO_8859_4_INIT,
    &e::ISO_8859_5_INIT,
    &e::ISO_8859_6_INIT,
    &e::ISO_8859_7_INIT,
    &e::ISO_8859_8_INIT,
    &e::ISO_8859_8_I_INIT,
    &e::ISO_8859_10_INIT,
    &e::ISO_8859_13_INIT,
    &e::ISO_8859_14_INIT,
    &e::ISO_8859_15_INIT,
    &e::ISO_8859_16_INIT,
    &e::KOI8_R_INIT,
    &e::KOI8_U_INIT,
    &e::MACINTOSH_INIT,
    &e::WINDOWS_874_INIT,
    &e::WINDOWS_1250_INIT,
    &e::WINDOWS_1251_INIT,
    &e::WINDOWS_1252_INIT,
    &e::WINDOWS_1253_INIT,
    &e::WINDOWS_1254_INIT,
    &e::WINDOWS_1255_INIT,
    &e::WINDOWS_1256_INIT,
    &e::WINDOWS_1257_INIT,
    &e::WINDOWS_1258_INIT,
    &e::X_MAC_CYRILLIC_INIT,
    &e::GBK_INIT,
    &e::GB18030_INIT,
    &e::BIG5_INIT,
    &e::EUC_JP_INIT,
    &e::ISO_2022_JP_INIT,
    &e::SHIFT_JIS_INIT,
    &e::EUC_KR_INIT,
    &e::REPLACEMENT_INIT,
    &e::UTF_16BE_INIT,
    &e::UTF_16LE_INIT,
    &e::X_USER_DEFINED_INIT,
];