La longitud de un texto codificado no siempre coincide con sus letras visibles

Bloques translúcidos enlazados, una ilustración conceptual creada con IA
Ilustración conceptual creada con IA; no representa una red o medición real.

Contar letras en una pantalla y contar bytes en una codificación son tareas diferentes. Esa diferencia aparece al leer argumentos de texto en la ABI de un contrato.

La especificación ABI describe las cadenas mediante su codificación UTF-8. La longitud usada en ese proceso corresponde a bytes, no al número de caracteres que una persona cree ver.

Prueba la idea fuera de una blockchain: escribe una palabra formada por letras ASCII y otra que incluya una vocal acentuada. Compara el texto con los bytes que produce una herramienta local de codificación. El ejercicio no necesita una cartera ni una transacción.

Guarda ambas representaciones

En tus notas, conserva el texto original y la secuencia de bytes, indicando UTF-8. Si solo guardas una captura de la palabra, será difícil explicar después de dónde salió una longitud mayor de la esperada.

No elimines caracteres para conseguir que el número coincida con una intuición visual. Primero identifica qué está contando cada campo y qué codificación se aplicó.

La misma cautela ayuda al revisar límites de entrada: un límite expresado en bytes no promete aceptar ese mismo número de letras visibles. La interfaz debe aclarar qué medida utiliza antes de convertir un rechazo en un supuesto fallo del contrato.