UTF-8 con y sin BOM
1. ¿Qué es el BOM en UTF-8?
El Byte Order Mark (BOM) es un conjunto especial de bytes al inicio de un archivo de texto, que indica la codificación utilizada.
En UTF-8, el BOM está representado por los bytes:
EF BB BFEste marcador no es obligatorio en UTF-8, pero algunos programas lo utilizan para identificar el formato del archivo.
2. Diferencias entre UTF-8 con BOM y UTF-8 sin BOM
| Característica | UTF-8 con BOM | UTF-8 sin BOM |
|---|---|---|
| Presencia de marcador BOM | Sí (EF BB BF) |
No |
| Compatibilidad con sistemas | Pueden causar problemas en algunos programas | Más compatible |
| Uso en archivos de código fuente | No recomendado | Recomendado |
| Sistemas UNIX/Linux | Puede mostrarse como caracteres basura () |
No causa problemas |
3. Cuándo usar cada uno
✅ Usar UTF-8 sin BOM:
- Archivos de código fuente en
C, Python, JavaScript, HTML, etc. - Archivos de configuración en sistemas Linux/UNIX
- Interoperabilidad con herramientas de procesamiento de datos
✅ Usar UTF-8 con BOM:
- Documentos de texto en programas como Microsoft Word
- Archivos que serán abiertos en Windows
4. Cómo verificar si un archivo tiene BOM
En Linux/macOS puedes usar el comando:
xxd -p archivo.txt | head -n 1Si ves EF BB BF, el archivo tiene BOM.
5. Cómo eliminar el BOM
Si un archivo tiene BOM y deseas eliminarlo:
- En Notepad++:
Codificación > Convertir a UTF-8 sin BOM - En Linux:
sed -i '1s/^\xEF\xBB\xBF//' archivo.txtConclusión
En general, UTF-8 sin BOM es mejor para archivos de código y configuraciones, mientras que UTF-8 con BOM puede ser útil para documentos de texto en ciertos programas.

Comentarios
Publicar un comentario