#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq)]
pub enum RecognizedEncoding {
ASCII_8BIT,
UTF_8,
US_ASCII,
UTF8_MAC,
EUC_JP,
Windows_31J,
Big5,
Big5_HKSCS,
Big5_UAO,
CESU_8,
CP949,
Emacs_Mule,
EUC_KR,
EUC_TW,
GB18030,
GBK,
ISO_8859_1,
ISO_8859_2,
ISO_8859_3,
ISO_8859_4,
ISO_8859_5,
ISO_8859_6,
ISO_8859_7,
ISO_8859_8,
ISO_8859_9,
ISO_8859_10,
ISO_8859_11,
ISO_8859_13,
ISO_8859_14,
ISO_8859_15,
ISO_8859_16,
KOI8_R,
KOI8_U,
Shift_JIS,
Windows_1250,
Windows_1251,
Windows_1252,
Windows_1253,
Windows_1254,
Windows_1257,
IBM437,
IBM737,
IBM775,
CP850,
IBM852,
CP852,
IBM855,
CP855,
IBM857,
IBM860,
IBM861,
IBM862,
IBM863,
IBM864,
IBM865,
IBM866,
IBM869,
Windows_1258,
GB1988,
MacCentEuro,
MacCroatian,
MacCyrillic,
MacGreek,
MacIceland,
MacRoman,
MacRomania,
MacThai,
MacTurkish,
MacUkraine,
CP950,
CP951,
Stateless_ISO_2022_JP,
EucJP_ms,
CP51932,
EUC_JIS_2004,
GB2312,
GB12345,
Windows_1256,
Windows_1255,
TIS_620,
Windows_874,
MacJapanese,
UTF8_DoCoMo,
SJIS_DoCoMo,
UTF8_KDDI,
SJIS_KDDI,
Stateless_ISO_2022_JP_KDDI,
UTF8_SoftBank,
SJIS_SoftBank,
}
impl RecognizedEncoding {
pub fn parse(s: &str) -> Option<Self> {
match &s.to_uppercase()[..] {
"ASCII-8BIT" => Some(Self::ASCII_8BIT),
"UTF-8" => Some(Self::UTF_8),
"US-ASCII" => Some(Self::US_ASCII),
"UTF8-MAC" => Some(Self::UTF8_MAC),
"EUC-JP" => Some(Self::EUC_JP),
"WINDOWS-31J" => Some(Self::Windows_31J),
"BIG5" => Some(Self::Big5),
"BIG5-HKSCS" => Some(Self::Big5_HKSCS),
"BIG5-UAO" => Some(Self::Big5_UAO),
"CESU-8" => Some(Self::CESU_8),
"CP949" => Some(Self::CP949),
"EMACS-MULE" => Some(Self::Emacs_Mule),
"EUC-KR" => Some(Self::EUC_KR),
"EUC-TW" => Some(Self::EUC_TW),
"GB18030" => Some(Self::GB18030),
"GBK" => Some(Self::GBK),
"ISO-8859-1" => Some(Self::ISO_8859_1),
"ISO-8859-2" => Some(Self::ISO_8859_2),
"ISO-8859-3" => Some(Self::ISO_8859_3),
"ISO-8859-4" => Some(Self::ISO_8859_4),
"ISO-8859-5" => Some(Self::ISO_8859_5),
"ISO-8859-6" => Some(Self::ISO_8859_6),
"ISO-8859-7" => Some(Self::ISO_8859_7),
"ISO-8859-8" => Some(Self::ISO_8859_8),
"ISO-8859-9" => Some(Self::ISO_8859_9),
"ISO-8859-10" => Some(Self::ISO_8859_10),
"ISO-8859-11" => Some(Self::ISO_8859_11),
"ISO-8859-13" => Some(Self::ISO_8859_13),
"ISO-8859-14" => Some(Self::ISO_8859_14),
"ISO-8859-15" => Some(Self::ISO_8859_15),
"ISO-8859-16" => Some(Self::ISO_8859_16),
"KOI8-R" => Some(Self::KOI8_R),
"KOI8-U" => Some(Self::KOI8_U),
"SHIFT_JIS" => Some(Self::Shift_JIS),
"WINDOWS-1250" => Some(Self::Windows_1250),
"WINDOWS-1251" => Some(Self::Windows_1251),
"WINDOWS-1252" => Some(Self::Windows_1252),
"WINDOWS-1253" => Some(Self::Windows_1253),
"WINDOWS-1254" => Some(Self::Windows_1254),
"WINDOWS-1257" => Some(Self::Windows_1257),
"IBM437" => Some(Self::IBM437),
"IBM737" => Some(Self::IBM737),
"IBM775" => Some(Self::IBM775),
"CP850" => Some(Self::CP850),
"IBM852" => Some(Self::IBM852),
"CP852" => Some(Self::CP852),
"IBM855" => Some(Self::IBM855),
"CP855" => Some(Self::CP855),
"IBM857" => Some(Self::IBM857),
"IBM860" => Some(Self::IBM860),
"IBM861" => Some(Self::IBM861),
"IBM862" => Some(Self::IBM862),
"IBM863" => Some(Self::IBM863),
"IBM864" => Some(Self::IBM864),
"IBM865" => Some(Self::IBM865),
"IBM866" => Some(Self::IBM866),
"IBM869" => Some(Self::IBM869),
"WINDOWS-1258" => Some(Self::Windows_1258),
"GB1988" => Some(Self::GB1988),
"MACCENTEURO" => Some(Self::MacCentEuro),
"MACCROATIAN" => Some(Self::MacCroatian),
"MACCYRILLIC" => Some(Self::MacCyrillic),
"MACGREEK" => Some(Self::MacGreek),
"MACICELAND" => Some(Self::MacIceland),
"MACROMAN" => Some(Self::MacRoman),
"MACROMANIA" => Some(Self::MacRomania),
"MACTHAI" => Some(Self::MacThai),
"MACTURKISH" => Some(Self::MacTurkish),
"MACUKRAINE" => Some(Self::MacUkraine),
"CP950" => Some(Self::CP950),
"CP951" => Some(Self::CP951),
"STATELESS-ISO-2022-JP" => Some(Self::Stateless_ISO_2022_JP),
"EUCJP-MS" => Some(Self::EucJP_ms),
"CP51932" => Some(Self::CP51932),
"EUC-JIS-2004" => Some(Self::EUC_JIS_2004),
"GB2312" => Some(Self::GB2312),
"GB12345" => Some(Self::GB12345),
"WINDOWS-1256" => Some(Self::Windows_1256),
"WINDOWS-1255" => Some(Self::Windows_1255),
"TIS-620" => Some(Self::TIS_620),
"WINDOWS-874" => Some(Self::Windows_874),
"MACJAPANESE" => Some(Self::MacJapanese),
"UTF8-DOCOMO" => Some(Self::UTF8_DoCoMo),
"SJIS-DOCOMO" => Some(Self::SJIS_DoCoMo),
"UTF8-KDDI" => Some(Self::UTF8_KDDI),
"SJIS-KDDI" => Some(Self::SJIS_KDDI),
"STATELESS-ISO-2022-JP-KDDI" => Some(Self::Stateless_ISO_2022_JP_KDDI),
"UTF8-SOFTBANK" => Some(Self::UTF8_SoftBank),
"SJIS-SOFTBAN" => Some(Self::SJIS_SoftBank),
_ => None,
}
}
}