ForsideSoftware tutorialHvordan henter browseren kodningen af ​​CSS-dokumentet?
Hvordan henter browseren kodningen af ​​CSS-dokumentet?

Det er meget mere kompliceret for browseren at hente CSS-dokumentets kodning. Stedet, hvor den kan indstille kodningen, er Content-type-feltet i ResponseHeader for at indstille kodningen charset-attribut, og CSS-dokumentet kan også indstilles, og endelig et standardkodningsdokument.

Indflydelse

Hvad vil virkningen være, hvis kodningsgenkendelsesfejlen i CSS-dokumentet er korrekt? Engelske tegn kan genkendes normalt, men kinesiske tegn vil blive vist som forvanskede tegn. Dette skyldes primært brugen af ​​kinesiske skrifttyper. De kinesiske skrifttyper, der vises på siden, er engelske skrifttyper (indholdet er stadig på kinesisk, jeg mener de viste skrifttypeændringer).

I hvilken rækkefølge henter browseren kodningen af ​​CSS-dokumentet?

I henhold til [1] CSS 2.1-specifikationen skal kodningen af ​​en ekstern CSS-fil bestemmes i henhold til følgende prioriteter:

1. Den kodning, der er angivet af parameteren "charset" i feltet "Content-Type" i HTTP-svarets header.

2. Stykliste og/eller kodning defineret af @charset.

3.<link charset="">eller andre metadata leveret af linkmekanismen (hvis nogen).

4. Introducer den kodning, der er bestemt i HTML-koden for denne CSS-fil eller en anden CSS-fil (hvis der er en).

5. Hvis kodningen ikke kan bestemmes i ovenstående trin, antages det, at kodningen er UTF-8.


Send en metode til at hente kodningen fra BOM (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; }
Softwareapplikation: download af front-end-skabeloner og SEO-optimering; Bemærk: Denne software er ikke et hackerprogram og kan ikke downloade baggrundsdata!
Ansvarsfraskrivelse: Tjenesten er til personlig undersøgelse, forskning eller påskønnelse, såvel som andre ikke-kommercielle eller almennyttige formål, men den skal samtidig overholde bestemmelserne i loven om ophavsret og andre relevante love og må ikke krænke juridiske rettigheder til denne hjemmeside og relaterede rettighedsindehavere. Risiciene forbundet med at bruge værktøjerne på denne hjemmeside har intet at gøre med denne software.
Copyright © 2019-2024 Rabbit Software Alle rettigheder forbeholdes Guangdong ICP nr. 19111427-2
Tutorial information Brugermanual Hjemmeside emner