SoupCalc

Calculadora de longitud de cadena para caracteres Unicode y bytes UTF-8

Qué calcula esta herramienta

La calculadora reporta un conteo orientado a caracteres basado en puntos de código Unicode y un conteo orientado a almacenamiento basado en bytes UTF-8. Internamente, el ayudante verificado también distingue las unidades de código UTF-16, lo que explica por qué la longitud nativa de una cadena JavaScript puede diferir del resultado visible para algunos emoji y caracteres suplementarios.

"Carácter" tiene varios significados en informática. Un conteo de puntos de código es más consciente de Unicode que contar unidades UTF-16, pero aún no es siempre el número de clústeres de grafemas percibidos por el usuario.

Datos de entrada

Ingrese o pegue cualquier texto, incluyendo espacios, saltos de línea, emoji, marcas de combinación y escrituras no latinas. El cálculo ocurre en el navegador y no necesita enviar el texto a un servicio de longitud.

Preserve los finales de línea exactos cuando un límite de bytes sea importante. Un salto de línea CRLF de Windows usa dos puntos de código y dos bytes UTF-8, mientras que un salto LF usa uno. La normalización Unicode también puede cambiar los conteos de puntos de código y bytes sin cambiar el texto aparente.

Método y fórmula

El conteo de puntos de código itera la cadena por puntos de código Unicode en lugar de indexar unidades UTF-16 brutas. El conteo UTF-16 es la longitud de unidades de código del entorno de ejecución del lenguaje. El conteo de bytes codifica la cadena como UTF-8 y cuenta los octetos resultantes.

Los caracteres ASCII básicos usan una unidad UTF-16 y un byte UTF-8. Muchos caracteres acentuados usan un punto de código pero dos bytes UTF-8. Los emoji suplementarios comúnmente usan un punto de código, dos unidades de código UTF-16 y cuatro bytes UTF-8.

Un grafema como una secuencia de emoji unida con ligaduras de ancho cero puede contener múltiples puntos de código mientras aparece como un solo símbolo. Esta herramienta no aplica segmentación de grafemas.

Ejemplo resuelto

Ingrese A😀é.

  • Puntos de código Unicode: A, 😀 y é, para un total de 3.
  • Unidades de código UTF-16: 1 para A, 2 para 😀 y 1 para é, totalizando 4.
  • Bytes UTF-8: 1 para A, 4 para 😀 y 2 para é, totalizando 7.

La calculadora visible reporta 3 caracteres y 7 bytes. El valor UTF-16 documentado de 4 explica por qué un conteo ingenuo de .length de JavaScript no coincidiría.

Cómo interpretar el resultado

Use puntos de código al validar un protocolo o regla de datos explícitamente definida en puntos de código. Use bytes UTF-8 para límites de carga útil, base de datos o API definidos en bytes codificados. Ninguno debe sustituir un límite definido en clústeres de grafemas, ancho de visualización, segmentos SMS o glifos de fuente.

Al aplicar un límite de producto, documente la unidad y la forma de normalización. Un usuario no debería perder texto simplemente porque la interfaz dice "caracteres" mientras que el backend rechaza bytes.

Precisión y limitaciones

El conteo de bytes usa específicamente UTF-8; UTF-16, UTF-32, codificaciones heredadas, compresión, escape, sintaxis JSON y encuadre de transporte tienen tamaños diferentes. La herramienta no normaliza texto ni cuenta clústeres de grafemas, palabras, líneas, columnas, glifos ni ancho renderizado.

Las cadenas visualmente idénticas pueden tener codificaciones diferentes, por ejemplo, una letra acentuada precompuesta versus una letra base más marca de combinación. Los identificadores sensibles a la seguridad requieren una política Unicode documentada más allá de la longitud sola.

Fuentes

Registro editorial

Autor: SoupCalc Editorial Team

Última revisión: 14 de agosto de 2026

Alcance de la revisión: Se verificaron la iteración de puntos de código, el comportamiento de sustitutos UTF-16, la codificación UTF-8, las limitaciones de grafemas, las referencias estándar y los conteos 3, 4 y 7 de A😀é.