Sin subida, 100% local, sin cuenta

Artículo

Palabras, caracteres y mayúsculas: cómo funciona realmente el conteo de texto

Contar texto parece la única tarea que un ordenador no puede hacer mal, y sin embargo dos herramientas pueden dar tranquilamente números distintos para el mismo párrafo, un emoji puede costarte 70 caracteres de SMS, y «280 caracteres» en X no significa lo que parece. Detrás de las tareas cotidianas de escribir dentro de un límite, renombrar variables o rellenar una maqueta hay unas cuantas reglas que merece la pena conocer. Este artículo las repasa, usando como ejemplos las pequeñas herramientas de texto de este sitio.

Qué cuenta como palabra

La mayoría de los contadores, el nuestro incluido, definen una palabra como lo hacen los mecanógrafos: una sucesión de caracteres visibles entre espacios o saltos de línea. Esa sola regla ya explica la mayoría de los desacuerdos. ¿Es «franco-alemán» una palabra o dos? Con la separación por espacios, una. ¿Es «político-económico» una palabra o dos? Una. Los números, las URL y las direcciones de correo también cuentan cada uno como una palabra. La convención se derrumba en los idiomas que se escriben sin espacios: en chino o japonés no hay un espacio donde cortar, así que un «conteo de palabras» no tiene sentido y conviene trabajar con el conteo de caracteres. Las estimaciones de tiempo de lectura añaden una segunda convención: nuestro contador de palabras divide el número de palabras entre 200 palabras por minuto, una media habitual de lectura silenciosa adulta, así que trata el resultado como una cifra de planificación, no como una promesa.

Un carácter no siempre es un símbolo

El conteo de caracteres es más turbio, porque el texto Unicode tiene capas. Lo que percibes como un carácter (un grafema) puede estar formado por varios puntos de código, y cada punto de código ocupa una o dos de las unidades de 16 bits que cuenta la propiedad length de JavaScript. El emoji de la cara sonriente es un grafema pero dos de esas unidades, así que un contador ingenuo dice 2. Un emoji de familia formado uniendo varios emoji de personas es un grafema, cinco puntos de código y ocho unidades. Incluso el texto plano tiene este problema: «café» puede almacenarse con é como un solo punto de código o como una e seguida de un acento combinante, idéntico en pantalla pero distinto en el conteo. Por eso dos contadores no coinciden: miden capas diferentes. Las reglas para agrupar puntos de código en caracteres percibidos por el usuario están estandarizadas en el anexo de segmentación de texto de Unicode (UAX #29), y los contadores bien hechos lo siguen.

Tres cadenas medidas en tres capas Unicode: un emoji de cara sonriente es 1 grafema y 2 unidades UTF-16, un emoji de familia es 1 grafema, 5 puntos de código y 8 unidades, y un café descompuesto es 4 grafemas pero 5 puntos de código

Los límites por los que en realidad estás contando

Los límites de caracteres son donde el conteo se convierte en dinero. Un SMS transporta 160 caracteres en el alfabeto compacto GSM-7, pero un solo carácter fuera de él (un emoji, o una letra que el alfabeto no tiene) hace que todo el mensaje cambie a UCS-2 y el límite baje a 70; los mensajes largos se dividen en partes de 153 o 67 caracteres, cada una facturada por separado. X permite 280 caracteres por publicación, pero los pesa: cada URL cuenta como 23 sin importar su longitud real, y la mayoría de los emoji y caracteres CJK cuentan como 2. Los fragmentos de búsqueda tienen límites blandos en su lugar: Google trunca títulos y descripciones por ancho en píxeles, así que las conocidas cifras de 60 caracteres para el título y 155 para la descripción son convenciones de trabajo más que garantías. Cuando un límite importa de verdad, cuenta con las mismas reglas que usa la plataforma, y deja margen.

Las mayúsculas son una convención, y cada estilo tiene su sitio

Cambiar mayúsculas y minúsculas parece trivial hasta que te topas con las convenciones que se apilan encima. La prosa conoce el Title Case, favorecido por los titulares estadounidenses, y el sentence case, que prefiere la mayoría de las guías de estilo europeas. El código tiene sus propias familias: camelCase para variables en JavaScript y Java, PascalCase para nombres de clases y componentes, snake_case en Python y bases de datos, SCREAMING_SNAKE_CASE para constantes, y kebab-case para clases CSS, nombres de archivo y slugs de URL, donde las minúsculas evitan la trampa clásica de enlaces que solo difieren en mayúsculas. Convertir a mano un puñado de identificadores está bien; convertir una lista de ochenta es como nacen las erratas. Un conversor de mayúsculas/minúsculas aplica la transformación de forma mecánica, incluyendo las partes delicadas como decidir qué pasa con los acrónimos y los separadores ya existentes.

La frase user profile page escrita en seis estilos de mayúsculas/minúsculas: camelCase, PascalCase, snake_case, SCREAMING_SNAKE_CASE, kebab-case y Title Case

Texto de relleno, y archivos que tu teléfono se niega a abrir

Dos tareas más completan el conjunto. Los diseños se evalúan con texto de relleno porque las frases reales atraen la atención hacia su significado; el lorem ipsum funciona precisamente porque es casi, pero no del todo, latín legible. Nuestro generador lo produce por párrafo, frase o palabra, así que una maqueta puede rellenarse a longitudes realistas en lugar de un único bloque pegado y repetido. Y cuando alguien envía un archivo .md, .json, .csv o .log que el teléfono se niega a abrir, un visor de texto basado en el navegador lo muestra sin instalar un editor ni reenviar el archivo a algún sitio de conversión. Todo lo anterior, conteo incluido, se ejecuta enteramente en tu navegador: el texto nunca sale de tu dispositivo, lo cual importa más de lo habitual cuando lo que estás midiendo es un borrador, un contrato o un registro lleno de rutas internas.

Herramientas en este artículo

Preguntas frecuentes

¿Cuántas palabras caben en una página?

Las convenciones editoriales hablan de unas 500 palabras para una página a espacio simple y unas 250 para una a doble espacio, suponiendo una fuente estándar de 12 puntos en papel A4 o carta. Los documentos reales se alejan de esas cifras con cada cambio de fuente, margen o encabezado, por lo que las tareas y entregas cada vez especifican más un número de palabras en lugar de un número de páginas. Si ya tienes el texto, cuéntalo directamente y sáltate la estimación; las convenciones de páginas solo sirven antes de que el texto exista.

¿Qué significa realmente lorem ipsum?

Es latín reordenado, no un galimatías. El pasaje estándar está cortado y recompuesto a partir de De finibus bonorum et malorum de Cicerón, un texto filosófico del 45 a. C.; el fragmento «dolorem ipsum» significa «el dolor mismo». El reordenamiento es la clave: el texto se parece al lenguaje natural, con longitudes de palabra y ritmo de frase plausibles, pero se resiste a ser leído, así que quien lo mira juzga el diseño en vez del contenido. Su difusión moderna suele atribuirse a las hojas de transferencia Letraset en los años 60 y al software de autoedición en los años 80.

¿Por qué una plataforma cuenta menos caracteres que mi contador?

Porque las plataformas cuentan con sus propios pesos. X parte de 280 pero factura cada URL como 23 caracteres y la mayoría de los emoji y caracteres CJK como 2 cada uno. Las pasarelas SMS cambian todo el mensaje del alfabeto GSM-7 de 160 caracteres al modo UCS-2 de 70 caracteres en cuanto un carácter lo exige. Y cualquier plataforma puede contar unidades de código en lugar de grafemas, así que un solo emoji de familia puede consumir 8 unidades del límite. Cuando el número del botón no coincide con tu contador, ganan las reglas de la plataforma; escribe con margen o compruébalo con el contador propio de la plataforma antes de enviar.

Fuentes