Saltar al contenido

¿Qué es XML BOM y cómo lo detecto?

Hola, hemos encontrado la solución a lo que estabas buscando, has scroll y la hallarás un poco más abajo.

Solución:

Para un archivo XML ANSI, en realidad debería eliminarse. Si desea utilizar UTF-8, realmente no lo necesita. Solo para UTF-16 y UTF-32 es necesario.

Byte-Order-Mark (o BOM) es un marcador especial que se agrega al principio de un archivo Unicode codificado en UTF-8, UTF-16 o UTF-32. Se utiliza para indicar si el archivo utiliza el orden de bytes big-endian o little-endian. El BOM es obligatorio para UTF-16 y UTF-32, pero es opcional para UTF-8.

(Fuente: https://www.opentag.com/xfaq_enc.htm#enc_bom)

Con respecto a la pregunta sobre cómo detectar esto en java.

Verifique la siguiente respuesta a esta pregunta: Java: cómo determinar la codificación correcta del conjunto de caracteres de una transmisión y si ahora desea determinar la lista de materiales usted mismo (bajo su propio riesgo), verifique, por ejemplo, este código. Consejo de Java: cómo leer un archivo y especificar automáticamente la codificación correcta.

Básicamente, solo lea los primeros bytes usted mismo y luego determine si puede han encontrado una lista de materiales.

Es probable que la marca de orden de bytes sea una de estas secuencias de bytes:

     UTF-8 BOM: ef bb bf 
  UTF-16BE BOM: fe ff 
  UTF-16LE BOM: ff fe 
  UTF-32BE BOM: 00 00 fe ff 
  UTF-32LE BOM: ff fe 00 00 

Estas son las diversas formas codificadas del punto de código Unicode U+FEFF. Esto se puede expresar como un literal char de Java usando 'uFEFF' (Los valores de caracteres de Java son implícitamente UTF-16). Dado que U+FEFF no está en la mayoría de las codificaciones, no es posible que codifiquen este punto de código BOM. (Más información sobre la codificación de la lista de materiales usando Java aquí).

Cuando se trata de listas de materiales y XML, son opcionales (consulte también las preguntas frecuentes sobre listas de materiales de Unicode). La detección de la codificación en XML es relativamente sencilla si la codificación se especifica en la declaración. Asegúrese siempre de que la declaración XML () coincide con la codificación utilizada para escribir el documento. Si es estricto con esto, los analizadores deberían poder interpretar sus documentos correctamente. (Especificación XML en la detección de codificación).

Abogo por la codificación como Unicode siempre que sea posible (ver también los 10 Mandamientos de Unicode). Dicho esto, XML permite la representación de cualquier carácter Unicode a través de entidades de escape (por ejemplo, ‘A’ podría estar representado por A), por lo que no es necesariamente un requisito para evitar la pérdida de datos.

No inserte una lista de materiales en un archivo utf-8: si dos de estos archivos se fusionan, termina con una lista de materiales en el medio que podría romper una aplicación o hacer que un analizador xml arroje una excepción.

valoraciones y reseñas

Agradecemos que quieras añadir valor a nuestro contenido contribuyendo tu experiencia en las explicaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *