En este artículo
Copiaste un carácter invisible, lo pegaste, y la aplicación lo borró o rechazó el formulario. No es mala suerte: es un comportamiento predecible que depende de una propiedad concreta de cada carácter. Entenderla convierte el truco en una técnica que puedes aplicar en cualquier aplicación.
¿Solo buscas un espacio invisible para copiar que sí funcione? Cópialo directamente de la biblioteca: cada botón indica en qué campos sobrevive ese carácter. Y si quieres entender el porqué de cada rechazo, sigue leyendo — son tres mecanismos y se explican rápido.
Todo texto pasa por una limpieza
Cuando envías un formulario — un apodo, una biografía, un comentario — la aplicación casi siempre limpia el texto antes de guardarlo. La operación más común se llama trim: elimina los espacios del principio y del final. Si tu «nombre» era solo espacios, después de la limpieza no queda nada, y el campo vacío se rechaza.
La clave está en qué cuenta como «espacio» para esa limpieza. Y eso no lo decide cada aplicación a ciegas: lo hereda del estándar Unicode.
Unicode clasifica cada carácter
Cada carácter del estándar tiene una categoría. Para lo que nos interesa, hay tres grupos que se comportan de forma muy distinta:
- Espacios (categoría de separadores). El espacio normal, el espacio sin salto, los espacios tipográficos finos y anchos. Ocupan ancho visible, pero la limpieza los elimina. En un campo de nombre, mueren.
- Invisibles de formato. Caracteres de ancho cero pensados para controlar cómo se une o separa el texto: el espacio de ancho cero, los conectores, las marcas de dirección. No se ven en absoluto, y la mayoría sobrevive a la limpieza — pero muchos validadores los eliminan por otras vías, y hay una excepción famosa: el espacio sin salto de ancho cero (U+FEFF), que la limpieza estándar de JavaScript sí elimina, aunque sea invisible.
- Letras invisibles. Un puñado de caracteres — los rellenos de la escritura coreana como U+3164, y el patrón braille en blanco — que no dibujan nada pero están clasificados como letras o símbolos. La limpieza no los toca, y los validadores de «solo letras» los aceptan. Son los únicos fiables para nombres de usuario.
Esta clasificación no es opinión nuestra: es la propiedad oficial de cada carácter en la base de datos de Unicode, y es exactamente lo que verificamos de forma automática cada vez que publicamos la biblioteca de espacios en blanco.
El tercer factor: los bytes
Aunque elijas el carácter correcto, puedes chocar con el límite de longitud del campo. Muchos límites cuentan bytes, y ahí los caracteres invisibles son caros: casi todos ocupan 3 bytes frente al único byte de una letra del alfabeto latino. Diez caracteres invisibles «pesan» como treinta letras. Si un nombre no cabe sin razón aparente, esta suele ser la razón.
Cómo diagnosticar tu caso en un minuto
- Pega lo que copiaste en la zona de prueba: verás cuántos caracteres invisibles contiene y de cuáles se trata.
- Si el campo es un nombre de usuario, usa solo caracteres del grupo aptos para nombres.
- Si el texto «no cabe», mira el contador de bytes y reduce la cantidad.
- Si la aplicación lo sigue rechazando, prueba otro carácter del mismo grupo: cada plataforma valida a su manera y sus reglas cambian sin aviso.
La regla que resume todo
No preguntes «cuál es el carácter invisible», pregunta «dónde lo voy a pegar». Para nombres, letras invisibles. Para ocultar o separar texto, invisibles de formato. Para maquetar dentro de un texto ya válido, espacios tipográficos. Con esa pregunta respondida, el truco deja de ser una lotería.