pubfn classify_tld(tld: &[u8]) -> Tld { if tld.len() == 2 { let key = [tld[0], tld[1]]; iflet Ok(i) = TWO_LETTER_KEYS.binary_search(&key) {
TWO_LETTER_VALUES[i]
} else {
Tld::Western
}
} elseif tld.len() == 3 { match tld {
b"edu" | b"gov" | b"mil" => Tld::Western,
_ => Tld::Generic,
}
} elseif tld.starts_with(b"xn--") && tld.len() >= 8 { // It's unclear is including the IDNs here is a good idea. // Clearly, they are an anachronism relative to the era // of legacy encodings. The idea, consistent with previous // approach in Firefox is to address the case where one // of these TLDs is configured as an alternative name for // a server that also serves the same content from a // two-ASCII-letter TLD. This makes the detection result // the same either way even though otherwise this thing // does not make much sense. iflet Ok(i) = PUNYCODE_KEYS.binary_search(&&tld[4..]) {
PUNYCODE_VALUES[i]
} else {
Tld::Generic
}
} else {
Tld::Generic
}
}
static TWO_LETTER_VALUES: [Tld; 87] = [
Tld::Generic, // ac
Tld::Arabic, // ae
Tld::Arabic, // af
Tld::Generic, // ai
Tld::WesternCyrillic, // am
Tld::TurkishAzeri, // az
Tld::CentralCyrillic, // ba
Tld::Cyrillic, // bg
Tld::Arabic, // bh
Tld::Cyrillic, // by
Tld::Generic, // bz
Tld::Generic, // cb
Tld::Generic, // cc
Tld::Generic, // cd
Tld::Simplified, // cn
Tld::Generic, // cx
Tld::Greek, // cy
Tld::CentralWindows, // cz
Tld::Generic, // dj
Tld::Arabic, // dz
Tld::Arabic, // eg
Tld::Eu, // eu
Tld::Generic, // fm
Tld::IcelandicFaroese, // fo
Tld::WesternCyrillic, // ge
Tld::Greek, // gr
Tld::TraditionalSimplified, // hk
Tld::CentralWindows, // hr
Tld::CentralIso, // hu
Tld::Hebrew, // il
Tld::Generic, // in
Tld::Arabic, // iq
Tld::Arabic, // ir
Tld::IcelandicFaroese, // is
Tld::Arabic, // jo
Tld::Japanese, // jp
Tld::Cyrillic, // kg
Tld::Korean, // kp
Tld::Korean, // kr
Tld::Arabic, // kw
Tld::Cyrillic, // kz
Tld::Generic, // la
Tld::Arabic, // lb
Tld::Baltic, // lt
Tld::Baltic, // lv
Tld::Arabic, // ly
Tld::Arabic, // ma
Tld::Cyrillic, // md
Tld::Generic, // me
Tld::Cyrillic, // mk
Tld::Cyrillic, // mn
Tld::TraditionalSimplified, // mo
Tld::Arabic, // mr
Tld::Generic, // ms
Tld::WesternArabic, // my
Tld::Generic, // nu
Tld::Arabic, // om
Tld::Arabic, // pk
Tld::CentralIso, // pl
Tld::Arabic, // ps
Tld::Arabic, // qa
Tld::CentralWindows, // ro
Tld::Cyrillic, // rs
Tld::Cyrillic, // ru
Tld::Arabic, // sa
Tld::Arabic, // sd
Tld::SimplifiedTraditional, // sg
Tld::CentralIso, // si
Tld::CentralWindows, // sk
Tld::Generic, // st
Tld::Cyrillic, // su
Tld::Arabic, // sy
Tld::Thai, // th
Tld::Cyrillic, // tj
Tld::Generic, // tk
Tld::Cyrillic, // tm
Tld::Arabic, // tn
Tld::Generic, // to
Tld::TurkishAzeri, // tr
Tld::Generic, // tv
Tld::Traditional, // tw
Tld::Cyrillic, // ua
Tld::Cyrillic, // uz
Tld::Generic, // vc
Tld::Vietnamese, // vn
Tld::Generic, // vu
Tld::Arabic, // ye
];
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.