CímlapSzoftver oktatóanyagHogyan szerzi meg a böngésző a CSS-dokumentum kódolását?
Hogyan szerzi meg a böngésző a CSS-dokumentum kódolását?

A böngészőnek sokkal bonyolultabb a CSS-dokumentumkódolás beszerzése, mint a HTML-dokumentumkódolás beszerzése. A kódolást a ResponseHeader Content-type mezője tudja beállítani charset attribútum, és a CSS-dokumentum is beállítható, és végül egy alapértelmezett kódolási dokumentum.

Befolyás

Mi lesz a hatása, ha a CSS-dokumentum kódolási felismerési hibája helyes? Az angol karakterek normálisan felismerhetők, de a kínai karakterek elrontott karakterként jelennek meg. Ez elsősorban a kínai betűtípusok használatának köszönhető betűtípus módosítások) .

Milyen sorrendben szerzi be a böngésző a CSS-dokumentum kódolását?

A [1] CSS 2.1 specifikáció szerint egy külső CSS-fájl kódolását a következő prioritások szerint kell meghatározni:

1. A HTTP-válaszfejléc "Content-Type" mezőjének "charset" paramétere által megadott kódolás.

2. A @charset által meghatározott anyagjegyzék és/vagy kódolás.

3.<link charset="">vagy az összekapcsolási mechanizmus által biztosított egyéb metaadatok (ha van ilyen).

4. Mutassa be ennek a CSS-fájlnak a HTML-jében vagy egy másik CSS-fájlban (ha van ilyen) meghatározott kódolást.

5. Ha a kódolás nem határozható meg a fenti lépésekkel, akkor a rendszer UTF-8 kódolást feltételez.


Küldjön el egy módszert a kódolás lekéréséhez a BOM-ból (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; }
Szoftver alkalmazás: front-end sablonok fejlesztése és tervezése, offline webböngészés; Megjegyzés: Ez a szoftver nem hackerprogram, és nem tud háttéradatokat letölteni!
Felelősség kizárása: A szolgáltatás személyes tanulmányozási, kutatási vagy értékelési, valamint egyéb nem kereskedelmi vagy non-profit célokat szolgál, ugyanakkor meg kell felelnie a szerzői jogi és egyéb vonatkozó jogszabályok előírásainak, és nem sértheti a a weboldal és a kapcsolódó jogtulajdonosok törvényes jogai Az ezen az oldalon található eszközök használatával kapcsolatos kockázatoknak semmi közük ehhez a szoftverhez.
Copyright © 2019-2024 Rabbit Software Minden jog fenntartva Guangdong ICP No. 19111427-2
Oktatói információk Használati utasítás Weboldal témák