página delanteraTutoriales de software¿Cómo obtiene el navegador la codificación del documento CSS?
¿Cómo obtiene el navegador la codificación del documento CSS?

Es mucho más complicado para el navegador obtener la codificación del documento CSS que obtener la codificación del documento HTML. El lugar donde puede configurar la codificación es el campo de tipo de contenido de ResponseHeader para configurar la codificación. atributo charset y también se puede configurar la codificación del documento CSS y, finalmente, un documento de codificación predeterminado.

Influencia

¿Cuál será el impacto si el error de reconocimiento de codificación en el documento CSS es correcto? Los caracteres en inglés se pueden reconocer normalmente, pero los caracteres chinos se mostrarán como caracteres confusos. Esto se debe principalmente al uso de fuentes chinas. Las fuentes chinas que se muestran en la página son fuentes en inglés (el contenido todavía está en chino, me refiero a las que se muestran). cambios de fuente).

¿En qué orden obtiene el navegador la codificación del documento CSS?

Según la especificación [1] CSS 2.1, la codificación de un archivo CSS externo debe determinarse de acuerdo con las siguientes prioridades:

1. La codificación especificada por el parámetro "charset" del campo "Tipo de contenido" en el encabezado de respuesta HTTP.

2. BOM y/o codificación definida por @charset.

3.<link charset="">u otros metadatos proporcionados por el mecanismo de enlace (si corresponde).

4. Introducir la codificación determinada en el HTML de este archivo CSS o en otro archivo CSS (si lo hay).

5. Si no se puede determinar la codificación en los pasos anteriores, se supone que la codificación es UTF-8.


Envíe un método para obtener la codificación de la lista de materiales (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; }
Aplicación de software: descarga de plantillas de front-end; desarrollo y diseño de optimización SEO; Nota: ¡Este software no es un programa de piratas informáticos y no puede descargar datos en segundo plano!
Descargo de responsabilidad: El servicio es para estudio, investigación o apreciación personal, así como para otros fines no comerciales o sin fines de lucro, pero al mismo tiempo debe cumplir con las disposiciones de la ley de derechos de autor y otras leyes relevantes, y no debe infringir las Derechos legales de este sitio web y titulares de derechos relacionados. Los riesgos asociados con el uso de las herramientas de este sitio no tienen nada que ver con este software.
Copyright © 2019-2024 Rabbit Software Todos los derechos reservados Guangdong PCI N° 19111427-2
Información tutorial Manual de usuario Temas del sitio web