ForHosting KIT · Texto e IA

Codificador y decodificador por longitud de ejecución

«aaabbcccc» se codifica como «a3b2c4», y al descodificar «a3b2c4» vuelve «aaabbcccc», letra por letra. Los dígitos y las barras invertidas se escapan para que todo resultado se lea sin ambigüedad, y admite cualquier carácter Unicode. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Texto
aaabbcccc
Modo de cálculo
Encode
Obtiene
Resultado
a3b2c4

La codificación por longitud de ejecución convierte las repeticiones consecutivas de un carácter en ese carácter seguido por la cantidad de apariciones. Esta herramienta realiza la transformación en ambos sentidos: seleccione codificar para texto normal o decodificar para un valor previamente codificado. Admite caracteres Unicode, conserva el orden exacto y aplica una regla de escape sencilla para que los dígitos y las barras inversas puedan recuperar su forma original sin ambigüedad. El resultado es determinista y no utiliza red, aleatoriedad, almacenamiento ni interpretación mediante modelos de lenguaje.

Codifique secuencias consecutivas sin alterar el orden

Seleccione el modo de codificación e introduzca el contenido de origen en el campo de texto. El codificador recorre los caracteres Unicode de izquierda a derecha, agrupa únicamente los caracteres iguales que sean adyacentes y representa cada grupo mediante el carácter y una cantidad decimal. Por ejemplo, un bloque de tres letras idénticas se convierte en esa letra seguida del número tres.

Si dos caracteres iguales están separados por otro carácter, forman secuencias diferentes, pues este método describe repeticiones locales y no la frecuencia global. Una entrada vacía produce un resultado vacío y un carácter que aparece una sola vez recibe la cantidad uno. Los dígitos y las barras inversas requieren un tratamiento especial porque las cantidades también se expresan con dígitos.

Por ello, el formato antepone una barra inversa a cualquier dígito o barra inversa literal antes de añadir su cantidad. La respuesta incluye el modo elegido y el resultado, y siempre es idéntica para los mismos datos.

Decodifique con una validación estricta del formato

Seleccione el modo de decodificación cuando el texto ya contenga elementos de longitud de ejecución. Cada elemento debe incluir exactamente la representación de un carácter seguida por una cantidad decimal positiva. Los caracteres normales que no son dígitos no necesitan prefijo.

Un dígito o una barra inversa literal debe llevar delante una barra inversa, lo que permite distinguir los datos de la cantidad posterior. Las cantidades no pueden ser cero, comenzar por cero ni superar la precisión entera segura de JavaScript. El decodificador también rechaza un dígito sin escape al inicio de un elemento, una barra inversa final, un escape no admitido o un carácter sin cantidad.

La salida decodificada se limita a un millón de caracteres Unicode y la entrada, a cien mil, para evitar expansiones excesivas. Nunca se entrega un resultado parcial.

Utilice RLE cuando la repetición sea significativa

Conviene entender la codificación por longitud de ejecución como una representación reversible, no como un método universal de compresión. Funciona especialmente bien cuando los datos contienen secuencias largas e ininterrumpidas, como máscaras sencillas, marcadores de estado repetidos, filas de cuadrículas, patrones de prueba o ejercicios introductorios de compresión. Puede aumentar el tamaño de textos alternos o con caracteres casi siempre distintos, porque cada secuencia incluye una cantidad; la herramienta no oculta esta desventaja ni selecciona automáticamente otro sistema.

En flujos de producción, conserve el resultado junto con la información sobre esta convención de escape, ya que otras implementaciones pueden emplear separadores, corchetes o cantidades antes de los caracteres. También resulta útil para validar ejemplos: codifique un dato de prueba, decodifique el resultado y compárelo con el original. Unicode se procesa por puntos de código, de modo que los emoji habituales cuentan como caracteres individuales.

Enseñar un algoritmo básico de compresión

Muestre cómo las secuencias adyacentes se convierten en pares de carácter y cantidad, y después recupere el texto para demostrar la reversibilidad.

Crear datos de prueba repetitivos y compactos

Represente secuencias largas de máscaras, cuadrículas, indicadores de estado o datos sintéticos mediante una cadena pequeña y determinista.

Validar una entrada codificada

Rechace cadenas RLE mal formadas antes de incorporarlas a un flujo, con errores explícitos para cantidades y escapes incorrectos.

¿Cómo se codifican los dígitos?

A cada dígito literal se le antepone una barra inversa y después se añade su cantidad. Así no se confunde el dígito con la longitud de una secuencia.

¿Admite emoji y otros caracteres Unicode?

Sí. El algoritmo recorre puntos de código Unicode, por lo que los caracteres suplementarios habituales, como los emoji, cuentan de forma individual.

¿Por qué se rechaza una cantidad que empieza por cero?

El formato canónico utiliza enteros positivos sin ceros iniciales. Rechazar escrituras alternativas mantiene resultados previsibles y detecta posibles errores.

¿La codificación RLE siempre reduce el texto?

No. Es eficaz para repeticiones consecutivas largas, pero puede aumentar textos alternos o con secuencias cortas porque cada una incluye su cantidad.

¿Se juntan las letras repetidas que no están seguidas?

No. Solo los caracteres iguales y contiguos forman una racha. En «abab» cada letra es su propia racha, así que el resultado es «a1b1a1b1», más largo que el original: la codificación describe repeticiones locales, no la frecuencia total.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/text/run-length-encode

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/text/run-length-encode \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"aaabbcccc"}'
{
  "text": "aaabbcccc"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "text.run_length_encode",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_tokens20000
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Decodifique con una validación estricta del formato

Estas reglas detienen el proceso ante cualquier duda: un texto incorrecto devuelve un error invalid_input en lugar de producir un valor aparentemente válido pero equivocado.

Utilice RLE cuando la repetición sea significativa

El uso de la API cuesta $0.002 por elemento.

¿Cuánto cuesta una solicitud de API?

Cada elemento procesado mediante la API cuesta $0.002. El ejecutor del navegador aplica localmente la misma transformación determinista.

Ver la documentación completa del KIT →