Насловна странаУпатство за софтверКако прелистувачот го добива кодирањето на CSS документот?
Како прелистувачот го добива кодирањето на CSS документот?

За прелистувачот е многу покомплицирано да се добие кодирање на CSS документот, отколку да се добие кодирање на HTML-документот Местото каде што може да го постави кодирањето е полето од типот на содржина на ResponseHeader за да го постави тагот за шифрирање атрибут на множество знаци, а CSS документот може да се постави и кодирање, и конечно стандарден документ за кодирање.

Влијание

Какво ќе биде влијанието ако грешката при препознавање на кодирањето во документот CSS е точна? Англиските знаци може да се препознаат нормално, но кинеските знаци ќе бидат прикажани како погрешни знаци. Ова главно се должи на употребата на кинески фонтови. промени на фонтот).

По кој редослед прелистувачот го добива кодирањето на CSS документот?

Според [1] CSS 2.1 спецификацијата, кодирањето на надворешна CSS датотека треба да се определи според следните приоритети:

1. Кодирањето наведено со параметарот „множество на знаци“ на полето „Тип на содржина“ во заглавието на одговорот HTTP.

2. BOM и/или кодирање дефинирано од @charset.

3.<link charset="">или други метаподатоци обезбедени од механизмот за поврзување (доколку ги има).

4. Воведете го кодирањето определено во HTML-то на оваа CSS-датотека или во друга CSS-датотека (ако постои).

5. Ако кодирањето не може да се одреди во горенаведените чекори, се претпоставува дека кодирањето е UTF-8.


Испратете метод за да го добиете кодирањето од 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; }
Софтверска апликација: развивање и дизајнирање на преден шаблон за веб-прелистување; Забелешка: Овој софтвер не е хакерска програма и не може да преземе податоци за заднина!
Одрекување: Услугата е за лично проучување, истражување или благодарност, како и за други некомерцијални или непрофитни цели, но во исто време треба да биде во согласност со одредбите од законот за авторски права и другите релевантни закони и не смее да ги прекршува законските права на оваа веб-локација и носителите на сродни права Ризиците поврзани со користењето на алатките на оваа страница немаат никаква врска со овој софтвер.
Авторски права © 2019-2024 Rabbit Software Сите права се задржани Гуангдонг ICP бр. 19111427-2
Информации за туториал Упатство за користење Теми на веб-страниците