Codificador de bases ADN
Escriba una palabra y véala en letras de ADN: Hi se convierte en CAGACGGC, cuatro bases por byte, porque cada par de bits corresponde a A, C, G o T. Pegue una secuencia para volver al texto. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Hi
- Modo de cálculo
- Encode
- Resultado
- CAGACGGC
- Entrada
- Hi
- Dna
- CAGACGGC
- Grupos
- CAGA, CGGC
Un codificador de bases de ADN transforma el texto ordinario en una cadena de las cuatro bases biológicas adenina, citosina, guanina y timina al tratar cada par de bits como una letra de ese alfabeto, y un decodificador de ADN invierte la misma tabla para que usted recupere la cadena UTF-8 original. Introduzca texto plano y elija codificar para recibir una secuencia continua A/C/G/T —cuatro bases por byte— o pegue una cadena de ADN y elija decodificar para reconstruir los caracteres.
Cómo los pares de bits se convierten en bases de ADN y por qué la longitud debe ser múltiplo de cuatro
El texto digital es una secuencia de bytes y cada byte son ocho bits. Este codificador agrupa esos bits en pares y asigna cada par a exactamente una base de ADN mediante una tabla fija: cero-cero se convierte en A, cero-uno en C, uno-cero en G y uno-uno en T. Recorrer un byte desde el par de bits más significativo hasta el menos significativo produce por tanto siempre cuatro letras.
La letra mayúscula H tiene valor decimal setenta y dos, binario cero-uno-cero-cero-uno-cero-cero-cero, que se convierte en C, A, G, A; la letra i se convierte en C, G, G, C; juntas, la palabra Hi se codifica como CAGACGGC. La decodificación lee la secuencia de cuatro en cuatro bases, expande cada base a su código de dos bits, reconstruye cada byte e interpreta el array de bytes como UTF-8.
Como un byte completo siempre necesita cuatro bases, una secuencia cuya longitud no es múltiplo de cuatro no puede representar un número entero de bytes y se rechaza. Asimismo, cualquier carácter que no sea A, C, G o T —incluidos U, N, dígitos y puntuación— es inválido. Los espacios en blanco, comas, guiones y separadores similares se eliminan antes de la validación, de modo que los fragmentos pegados al estilo FASTA siguen funcionando cuando solo contienen bases legales.
Los caracteres UTF-8 de varios bytes, como letras acentuadas o emoji, se expanden a más de un byte y por tanto a más de cuatro bases; eso es lo esperado, no un error. Esta página se dirige a quien busca un codificador de bases de ADN, un convertidor de texto a ADN o una herramienta de empaquetado binario A/C/G/T; no es un alineador de secuencias biológicas, una tabla de codones ni una calculadora de reverso-complemento.
Consejos prácticos, límites y herramientas relacionadas
Prefiera decode cuando ya disponga de una cadena A/C/G/T de un libro de texto o de una carga generada y quiera recuperar los caracteres. Las comprobaciones de ida y vuelta son la prueba de humo más rápida: codifique una palabra corta como Hi, confirme que las ocho bases coinciden con los grupos de cuatro bases conocidos para H e i, luego decodifique esas bases y confirme que recupera la cadena original. Mantenga las cargas bajo el límite de caracteres publicado; los volcados de varios megabytes pertenecen al entorno local.
Esta herramienta no es una utilidad biológica de reverso-complemento, ni un traductor de codones, ni un convertidor general de base 4 para enteros arbitrarios: esos problemas merecen páginas dedicadas. Prefiera esta capacidad cuando la intención de búsqueda sea texto o binario frente a bases de ADN con tabla de empaquetado de dos bits; use un convertidor de texto a binario o a hexadecimal cuando necesite formas de ceros y unos o hexadecimales en lugar de A/C/G/T.
Al enseñar, muestre el mismo emoji o letra acentuada junto a una letra ASCII simple para que los estudiantes vean cómo los octetos UTF-8 de varios bytes aparecen como grupos extra de cuatro bases y no como un codón misterioso único.
Qué puede hacer con ella
Comprobaciones de deberes sobre códigos ADN de teoría de la información
Los estudiantes codifican frases cortas, comparan cadenas A/C/G/T escritas a mano con el resultado determinista y decodifican secuencias del profesor sin una hoja de cálculo.
Demostraciones en clase del empaquetado digital de cuatro letras
Los talleres muestran cómo las etiquetas imprimibles se convierten en bases de ADN de dos bits en dos, y fuerzan letras inválidas o longitudes impares para ilustrar la validación estricta.
Preguntas frecuentes
¿Qué mapeo usa el codificador de bases de ADN?
Cada par de bits se asigna a una base: 00→A, 01→C, 10→G, 11→T. Los bits se toman primero el más significativo dentro de cada byte UTF-8, de modo que cada byte se convierte en exactamente cuatro bases.
¿Por qué la longitud de la secuencia de ADN debe ser múltiplo de cuatro?
Cuatro bases contienen ocho bits —un byte completo—.
¿Se permiten bases en minúsculas y espacios?
Sí en decode. Las bases se pasan a mayúsculas y los espacios o separadores habituales (comas, guiones, barras verticales) se eliminan antes de validar. Encode siempre devuelve ADN continuo en mayúsculas.
¿Admite UTF-8 y emoji?
Sí. La codificación usa UTF-8, de modo que los caracteres de varios bytes se convierten en varios grupos de cuatro bases. La decodificación rechaza secuencias de bytes que no sean UTF-8 válido.
¿Es gratuito el codificador de bases de ADN?
La herramienta del navegador es gratuita y se ejecuta en local.
Herramientas relacionadas
Para desarrolladores — acceso por API
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.
Endpoint de API
¿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.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/dna-encode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hi"}'const res = await fetch("https://api.kit.forhosting.com/enc/dna-encode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hi"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/dna-encode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hi"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/dna-encode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hi"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hi"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/dna-encode", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "Hi"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.dna_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.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_chars | 100000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Las secuencias que contienen letras distintas de A, C, G y T, o cuya longitud no es múltiplo de cuatro, devuelven un error invalid_input claro en lugar de inventar relleno o sustituciones silenciosas. El camino es aritmética determinista pura sobre bytes UTF-8 —sin red, sin semillas aleatorias, sin dependencia del reloj— de modo que el ejecutor gratuito del navegador y la API prepago devuelven el mismo JSON cada vez que usted la invoca a $0.002 por petición exitosa.
Cómo invocar la API y qué contiene la respuesta
El modo predeterminado es encode: los bytes UTF-8 del texto se convierten en una cadena de ADN continua en mayúsculas. El modo decode trata el texto como una secuencia de ADN —opcionalmente con espacios o separadores habituales— y devuelve la cadena UTF-8 recuperada tras eliminar separadores, pasar las bases a mayúsculas y validar el alfabeto y la longitud. En éxito para decode, la respuesta incluye mode, input, result y text con la cadena UTF-8 decodificada, dna normalizada a secuencia continua en mayúsculas, los mismos arrays groups y bytes, contadores, mapeo y un mensaje equivalente. Envíe un cuerpo JSON con un campo de cadena obligatorio text (alias input, value, data y sequence) y un mode opcional que sea encode o decode. La longitud de entrada está limitada a cien mil caracteres para que una sola petición no agote la memoria del Worker con cadenas enormes. En éxito para encode, la respuesta incluye mode, input, result y dna con la misma cadena de bases, groups como array de trozos de cuatro bases (uno por byte), bytes con los valores enteros, byte_count, base_count, bit_count, la leyenda del mapeo y un mensaje breve. La validación fallida —text ausente, text no cadena, entrada excesiva, mode desconocido, carácter que no es base, longitud que no es múltiplo de cuatro o bytes decodificados que no son UTF-8 válido— devuelve invalid_input y nunca se cobra. El precio es un importe fijo de $0.002 por petición exitosa con unidad item.
Consejos prácticos, límites y herramientas relacionadas
Envíe a propósito un fragmento de tres bases o una cadena con X o U para comprobar que su cliente gestiona invalid_input y el mensaje de error que nombra el alfabeto o la regla del múltiplo de cuatro. Las tareas fallidas que devuelven invalid_input no consumen saldo prepago, lo que mantiene baratos los scripts exploratorios cuando los aprendices pegan secuencias incompletas.
Casos de integración
Fixtures de prueba unitaria para formatos de datos sintéticos
Genere cadenas conocidas al estilo ADN a partir de texto de fixture y afirme que decode recupera los mismos bytes UTF-8 en CI sin ayudantes ad hoc de empaquetado de bits.