¿Qué es la Lista de Bebida?
La marca de orden de bytes (BOM), o marca de orden de bytes, es una marca especial insertada en un archivo Unicode codificado con UTF-8, UTF16 o UTF-32 para identificar el tipo de codificación de un archivo Unicode. Para UTF-8, no se requiere una lista de materiales (BOM), ya que se utiliza para marcar el tipo de codificación y el orden de bytes (big-endian o little-endian) de un archivo codificado de varios bytes. En UTF-8, el número de bits codificados para cada carácter se expresa con el primer byte, y no hay distinción entre big-endian y little-endian. UTF-8 no requiere una lista de materiales (BOM), aunque el estándar Unicode permite el uso de listas de materiales en UTF-8. Por lo tanto, UTF-8 sin LISTA de Materiales es la forma estándar, y es principalmente costumbre de Microsoft colocar una LISTA en un archivo UTF-8 (por cierto: también es costumbre de Microsoft llamar a UTF-16 con una LISTA de Materiales "Unicode" sin entrar en detalles). Las listas de materiales están preparadas para UTF-16 y UTF-32 para marcar el orden de los bytes. Microsoft utiliza BOM en UTF-8 porque permite una clara distinción entre la codificación UTF-8 y ASCII; de lo contrario, abrir un archivo CSV en Excel puede resultar confuso. Pero un archivo así puede causar problemas en sistemas operativos distintos de Windows. La diferencia entre "UTF-8" y "UTF-8 con lista de materiales (BOM) es si existe o no una lista de materiales (BOM). Es decir, si hay un U+FEFF al principio del archivo. El código web UTF-8 no debe usar listas de materiales (BOMs), de lo contrario los errores son frecuentes. Al exportar un archivo CSV desde http response, no se incluye por defecto cuando está configurado en utf8 BOM, pero Windows Excel usa BOM para confirmar la codificación UTF8, y todos deben escribir BOM al principio del archivo.
Cuando desarrollas por primera vez un generador de código Java, pondrás el archivo directamenteEscribe en un archivo UTF-8 que contenga la etiqueta BOMEsto provocará errores de empaquetado, como sigue:
Personajes ilegales: '\ufeff'
¿Cómo uso .NET / C# para determinar si un archivo contiene etiquetas de lista de materias? , el código es el siguiente:
Colegas, adjuntosConvierte el formato UTF-8 BOM al formato UTF-8 (sin etiquetas BOM), el código completo es el siguiente:
(Fin)
|