přední stranaSoftwarový tutoriálJak prohlížeč získá kódování dokumentu CSS?
Jak prohlížeč získá kódování dokumentu CSS?

Pro prohlížeč je mnohem složitější získat kódování dokumentu CSS než získat kódování dokumentu HTML. Místo, kde může nastavit kódování, je pole Content-type v ResponseHeader, kde lze nastavit kódování charset a lze také nastavit kódování dokumentu CSS a nakonec výchozí dokument kódování.

Vliv

Jaký to bude mít dopad, pokud je chyba rozpoznání kódování v dokumentu CSS správná? Anglické znaky lze normálně rozpoznat, ale čínské znaky se zobrazí jako zkomolené znaky. Důvodem je použití čínských písem na stránce jsou anglická písma (obsah je stále v čínštině, myslím zobrazený změny písma).

V jakém pořadí získá prohlížeč kódování dokumentu CSS?

Podle specifikace [1] CSS 2.1 by mělo být kódování externího souboru CSS určeno podle následujících priorit:

1. Kódování specifikované parametrem „charset“ v poli „Content-Type“ v hlavičce HTTP odpovědi.

2. Kusovník a/nebo kódování definované pomocí @charset.

3.<link charset="">nebo jiná metadata poskytnutá spojovacím mechanismem (pokud existují).

4. Zaveďte kódování určené v HTML tohoto souboru CSS nebo v jiném souboru CSS (pokud nějaký existuje).

5. Pokud kódování nelze určit ve výše uvedených krocích, předpokládá se, že kódování je UTF-8.


Pošlete metodu pro získání kódování z kusovníku (C#):

/// <summary> /// 从字节流判断编码(返回null是不能判断出编码) /// </summary> /// <param name="bt">输入字节流</param> /// <returns></returns> internal static string GetEncodingByByte(byte[] bt) { //带BOM的utf-8 var utf8 = new byte[] { 0xEF, 0xBB, 0xBF }; if (bt[0] == utf8[0] && bt[1] == utf8[1] && bt[2] == utf8[2]) { return "utf-8"; } //UTF-32-BE var utf32Be = new byte[] { 0x00, 0x00, 0xFE, 0xFF }; if (bt[0] == utf32Be[0] && bt[1] == utf32Be[1] && bt[2] == utf32Be[2] && bt[3] == utf32Be[3]) { return "utf-32"; } //UTF-32-LE var utf32Le = new byte[] { 0xFF, 0xFE, 0x00, 0x00 }; if (bt[0] == utf32Le[0] && bt[1] == utf32Le[1] && bt[2] == utf32Le[2] && bt[3] == utf32Le[3]) { return "utf-32"; } //UTF-32-2143 var utf322143 = new byte[] { 0x00, 0x00, 0xFF, 0xFE }; if (bt[0] == utf322143[0] && bt[1] == utf322143[1] && bt[2] == utf322143[2] && bt[3] == utf322143[3]) { return "utf-32"; } //UTF-32-3412 var utf323412 = new byte[] { 0xFE, 0xFF, 0x00, 0x00 }; if (bt[0] == utf323412[0] && bt[1] == utf323412[1] && bt[2] == utf323412[2] && bt[3] == utf323412[3]) { return "utf-32"; } //UTF-16-BE var utf16Be = new byte[] { 0xFE, 0xFF }; if (bt[0] == utf16Be[0] && bt[1] == utf16Be[1]) { return "utf-16"; } //UTF-16-LE var utf16Le = new byte[] { 0xFF, 0xFE }; if (bt[0] == utf16Le[0] && bt[1] == utf16Le[1]) { return "utf-16"; } return null; }
Softwarová aplikace: Stažení front-end šablony a SEO optimalizace; Poznámka: Tento software není hackerský program a nemůže stahovat data na pozadí!
Upozornění: Služba je určena pro osobní studium, výzkum nebo ocenění, jakož i pro jiné nekomerční nebo neziskové účely, ale zároveň by měla splňovat ustanovení autorského zákona a dalších příslušných zákonů a nesmí porušovat zákonná práva této webové stránky a související držitelé práv Rizika spojená s používáním nástrojů na této stránce nemají nic společného s tímto softwarem.
Copyright © 2019-2024 Rabbit Software Všechna práva vyhrazena Guangdong ICP č. 19111427-2
Informace o výuce Uživatelský manuál Témata webových stránek