TitelseiteSoftware-TutorialWie erhält der Browser die Kodierung des CSS-Dokuments?
Wie erhält der Browser die Kodierung des CSS-Dokuments?

Für den Browser ist es viel komplizierter, die Kodierung des CSS-Dokuments abzurufen als die Kodierung des HTML-Dokuments. Der Ort, an dem er die Kodierung festlegen kann, ist das Content-Type-Feld von ResponseHeader, um die Kodierung festzulegen Das charset-Attribut und die Codierung des CSS-Dokuments können ebenfalls festgelegt werden, und schließlich kann ein Standard-Codierungsdokument festgelegt werden.

Beeinflussen

Welche Auswirkungen hat es, wenn der Codierungserkennungsfehler im CSS-Dokument korrekt ist? Englische Zeichen können normal erkannt werden, chinesische Zeichen werden jedoch als verstümmelte Zeichen angezeigt. Dies ist hauptsächlich auf die Verwendung chinesischer Schriftarten zurückzuführen. Die auf der Seite angezeigten chinesischen Schriftarten sind englische Schriftarten (der Inhalt ist immer noch auf Chinesisch, ich meine die angezeigten). Schriftartänderungen).

In welcher Reihenfolge erhält der Browser die Kodierung des CSS-Dokuments?

Gemäß der [1] CSS 2.1-Spezifikation sollte die Kodierung einer externen CSS-Datei nach folgenden Prioritäten bestimmt werden:

1. Die durch den Parameter „charset“ des Felds „Content-Type“ im HTTP-Antwortheader angegebene Codierung.

2. Stückliste und/oder Kodierung definiert durch @charset.

3.<link charset="">oder andere vom Verknüpfungsmechanismus bereitgestellte Metadaten (falls vorhanden).

4. Führen Sie die festgelegte Kodierung in den HTML-Code dieser CSS-Datei oder einer anderen CSS-Datei (falls vorhanden) ein.

5. Wenn die Kodierung in den obigen Schritten nicht ermittelt werden kann, wird davon ausgegangen, dass es sich um eine UTF-8-Kodierung handelt.


Senden Sie eine Methode, um die Codierung aus der Stückliste abzurufen (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; }
Softwareanwendung: Download von Frontend-Vorlagen; SEO-Optimierung; Hinweis: Diese Software ist kein Hackerprogramm und kann keine Hintergrunddaten herunterladen!
Haftungsausschluss: Der Dienst dient dem persönlichen Studium, der Forschung oder Wertschätzung sowie anderen nichtkommerziellen oder gemeinnützigen Zwecken, sollte aber gleichzeitig den Bestimmungen des Urheberrechts und anderen relevanten Gesetzen entsprechen und darf nicht gegen diese verstoßen Die mit der Nutzung der Tools auf dieser Website verbundenen Risiken haben nichts mit dieser Software zu tun.
Copyright © 2019–2024 Rabbit Software. Alle Rechte vorbehalten Guangdong ICP Nr. 19111427-2
Informationen zum Tutorial Benutzerhandbuch Website-Themen