Qué hace esta herramienta
Text Size calcula exactamente cuánto espacio ocupa tu texto, en bytes, kilobytes y caracteres, utilizando codificación UTF-8, el estándar para la web y la mayoría de los sistemas modernos. Es la herramienta que necesita cuando un límite se mide en bytes en lugar de caracteres, lo cual es más común de lo que la gente espera.
Por qué los bytes difieren de los caracteres
En UTF-8, no todos los caracteres tienen un byte. Las letras y los dígitos en inglés simple ocupan un byte cada uno, por lo que, para texto simple, el recuento de bytes coincide con el recuento de caracteres. Pero las letras acentuadas ocupan dos bytes, muchos símbolos y caracteres no latinos ocupan dos o tres, y los emoji pueden ocupar cuatro. Esto significa que una cadena de 100 caracteres puede tener más de 100 bytes. Cuando un sistema mide un límite en bytes, contar caracteres lo engañará, esta herramienta muestra el tamaño real de bytes.
Cuando el tamaño del byte importa
Los campos de la base de datos a menudo se definen con límites de bytes, por lo que un valor que se ajuste a los caracteres aún puede rechazarse por exceder el límite de bytes. Algunas API y protocolos miden las cargas útiles en bytes. Los mensajes SMS, los presupuestos de tamaño de archivos y ciertos campos de formulario se preocupan por los bytes. Los desarrolladores que verifican si un valor se ajusta a una columna o si una carga útil está por debajo de un límite de tamaño, necesitan el recuento de bytes, no el recuento de caracteres.
leyendo el resultado
La herramienta muestra tres números que se actualizan a medida que escribe: el total de bytes en UTF-8, el equivalente en kilobytes para texto más grande y el recuento de caracteres simples para comparar. Cuando los recuentos de bytes y caracteres divergen, ese espacio es el contenido no ASCII de su texto, los acentos, símbolos y emoji que ocupan cada uno más de un byte. Todo se calcula en su navegador, por lo que incluso el texto confidencial permanece en su dispositivo.
Caracteres versus bytes
Un carácter y un byte no siempre son lo mismo. En ASCII simple, un carácter equivale a un byte, pero en UTF-8, la codificación estándar de la web, las letras acentuadas, los emoji y los caracteres no latinos ocupan dos, tres o cuatro bytes cada uno. Esta herramienta mide ambos: el recuento de caracteres y el tamaño real en bytes en UTF-8. La diferencia es importante siempre que un límite se define en bytes en lugar de caracteres, lo cual es más común de lo que la mayoría de la gente espera.
Por qué importa el tamaño del byte
Los campos de la base de datos suelen tener un tamaño de bytes, por lo que se puede alcanzar un límite de VARCHAR con menos caracteres de los esperados si el texto contiene caracteres de varios bytes. Las cargas útiles de la red, los límites de tamaño de los mensajes y las cuotas de almacenamiento se miden en bytes. Algunas API limitan los cuerpos de las solicitudes por tamaño de bytes. Si alguna vez le rechazaron un texto por ser "demasiado largo" cuando el recuento de caracteres parecía correcto, probablemente la causa fueron los caracteres multibyte y un límite basado en bytes. Medir el tamaño del byte por adelantado evita esa sorpresa.
Caracteres UTF-8 y multibyte
UTF-8 codifica las letras y dígitos latinos básicos en un solo byte cada uno, por lo que el texto en inglés simple tiene el mismo número de caracteres y bytes. Pero "é" tiene dos bytes, muchos caracteres asiáticos tienen tres bytes y los emoji suelen tener cuatro. Por lo tanto, una cadena de 100 caracteres puede tener entre 100 y 400 bytes, dependiendo de su contenido. Esta herramienta muestra el tamaño exacto de bytes, el tamaño de kilobytes y el recuento de caracteres juntos, para que pueda ver con precisión cómo se mide su texto frente a cualquier límite, ya sea que esté definido en caracteres o bytes.