Ir al contenido
Ghostchars

Ancho cero e invisibles

ZERO WIDTH NO-BREAK SPACE (U+FEFF)

La marca de orden de bytes, U+FEFF, que los editores y los mensajes de error suelen escribir como ufeff. Al principio de un archivo anuncia la codificación; en cualquier otro sitio es una nada invisible e inseparable que Unicode desaconseja para ese uso desde la versión 3.2.

Punto de código
U+FEFF
También se escribe
ufeff\ufeff
Se elimina por defecto
Sí
Opción que lo gobierna
No hace falta ninguna opción
Puede cumplir una función
No

Copiar y pegar U+FEFF

Para copiar y pegar ZERO WIDTH NO-BREAK SPACE (U+FEFF), pulsa el botón: el carácter en sí pasa a tu portapapeles, y Ctrl+V (Cmd+V en Mac) lo pega en cualquier lugar donde puedas escribir.

De dónde viene

Editores de Windows, exportaciones de Excel y todo lo que escribe «UTF-8 con BOM». Al concatenar varios archivos así queda un BOM en mitad del resultado. También llega al pegar: copia la celda de una hoja de cálculo, una línea de un editor o el contenido de un formulario web y el texto puede empezar por un carácter invisible, con lo que la caja de búsqueda parece de lo más normal y la consulta falla igualmente.

Por qué importa

Un BOM al principio rompe los analizadores de JSON, el front matter de YAML, los shebangs y las cabeceras de un CSV; un BOM en mitad del texto es sencillamente un carácter invisible que echa a perder cualquier comparación exacta. También es la razón de que un archivo de configuración «se vea bien» y no cargue.

Antes y después

ZERO WIDTH NO-BREAK SPACE (U+FEFF) antes y después de la limpieza, con el carácter oculto mostrado como una etiqueta con nombre
Ficha de referencia de este carácter: el punto de código, el veredicto y el mismo antes y después en una imagen.
AntesU+FEFF{"ok": true}
Después{"ok": true}

Ese primer carácter invisible es la razón de que `JSON.parse` rechace esta cadena.

El carácter se muestra como una etiqueta con nombre para que veas dónde está. En tu texto no dibuja absolutamente nada.

Cuándo es legítimo

Como primer carácter de un archivo, en calidad de firma de codificación, que es una propiedad del ARCHIVO y no del texto. Una vez que el texto está en una caja de pegado ya no queda ningún BOM legítimo.

Cómo eliminarlo

La pasada por defecto lo elimina, esté donde esté. Ghostchars trabaja sobre texto, así que trata el BOM inicial como texto también.

¿Tu texto está en un archivo y no en el portapapeles? El informe del documento para .docx, .odt y .html lo encuentra dentro del archivo, junto con los fragmentos ocultos y el control de cambios, sin que tengas que abrirlo. Si la pregunta es qué hace el resto del texto y no este carácter concreto, puedes medir la variación en la longitud de las oraciones y ver dónde aparece cada hábito, sin puntaje y sin afirmar nada sobre quién escribió el texto.

¿Es una marca de agua de IA?

No es una marca de agua

No. Un BOM es un artefacto de codificación que producen los editores y las cadenas de exportación. Habla de la herramienta que guardó el archivo y no dice nada de quién escribió las palabras.

No tiene ninguna relación con el texto generado por máquinas. Viene de un programa, de un teclado o de una persona.

Preguntas

¿Por qué el texto que pegué empieza con un carácter invisible?

Casi siempre es un BOM que viajó con la copia: el origen escribió un U+FEFF al principio y se vino con todos los caracteres visibles de detrás. La pasada por defecto lo elimina. Si quieres verlo antes de limpiar, pega el texto aquí y cambia a «Ver lo oculto»: ahí se marca el ufeff que está delante de la primera letra.

¿Por qué mi JSON no se puede analizar?

Un BOM inicial es un carácter que va antes de la llave de apertura. La mayoría de los analizadores de JSON lo rechazan como token inesperado, y el error apunta a la posición 0, donde no hay nada visible.

¿Es lo mismo que una unión de palabras?

En mitad del texto se comportan igual. Unicode desaconsejó el U+FEFF para ese uso y designó el U+2060 WORD JOINER como el carácter correcto, dejando el U+FEFF solo como marca de orden de bytes.

Comprueba tu propio texto

Pega lo que quieras en el limpiador para ver todos los caracteres ocultos que contiene, con su posición, su punto de código y lo que le pasa a cada uno. No se sube nada.

Comprueba tu propio textoLímpialo en Chrome al pegarLímpialo en tu Mac con un atajo de tecladoTodos los caracteres

¿Estadísticas de uso anónimas?

Ghostchars procesa tu texto en el navegador y nunca lo envía a ninguna parte. Nos gustaría contar las visitas con un servicio de analítica alojado por nosotros y con un uso mínimo de cookies. El contenido, nunca.