Traductor del código de golpes
Escriba HI y obtendrá 2,3 2,4: la H está en la fila 2, columna 3 del cuadrado de Polybius de 5×5 y la I en la fila 2, columna 4. Al descifrar, los pares de números o los grupos de puntos vuelven a ser letras. 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
- 2,3 2,4
- Entrada
- HI
- Numérico
- 2,3 2,4
- Puntos
- .. ... / .. ....
Un traductor del código de golpes convierte las letras latinas habituales en los clásicos golpes carcelarios del cuadrado de Polybius, o bien devuelve esos golpes a texto legible. Elija cifrar para situar cada carácter de la A a la Z en una cuadrícula de cinco por cinco (la I y la J comparten celda) y emitir las cuentas de fila y columna como pares numéricos, por ejemplo 2,3, o como puntos al estilo escolar. Elija descifrar para interpretar esos mismos pares, dígrafos compactos como 23, secuencias sueltas de dígitos o series de puntos separadas por barras, y recuperar las letras en mayúsculas.
Cómo funciona el cuadrado de Polybius 5×5 del código de golpes
El código de golpes es un cifrado sencillo de dos números construido sobre un cuadrado de Polybius de cinco filas y cinco columnas.
Las letras llenan la cuadrícula de izquierda a derecha y de arriba abajo: de la A a la E en la fila uno, de la F a la I y la K en la fila dos (la J comparte la celda de la I en la fila dos, columna cuatro), de la L a la P en la fila tres, de la Q a la U en la fila cuatro y de la V a la Z en la fila cinco.
Para enviar una letra se golpea la cuenta de la fila, se hace una pausa breve y se golpea la cuenta de la columna; una pausa más larga separa las letras. Sobre papel, la misma idea aparece como pares como 4,4 para la T o como dos series de puntos: .... .... .
Como veintiséis letras deben caber en veinticinco celdas, la I y la J se funden en una sola posición: al descifrar siempre se imprime I para esa celda, y al cifrar la J se pliega en las mismas coordenadas, de modo que los recorridos de ida y vuelta se mantienen coherentes. Los espacios en blanco se ignoran al cifrar, de modo que las frases de varias palabras siguen produciendo una secuencia pura de golpes de letras.
Comprender esa disposición fija basta para verificar cualquier resultado a mano: cuente la fila y la columna, lea la letra en esa intersección y confirme que coincide con el array de pares publicado.
Consejos prácticos, límites y búsquedas relacionadas
Empiece con ejemplos escolares cortos: cifre HI para confirmar que H es 2,3 e I es 2,4, y luego descifre esa cadena numérica para demostrar el recorrido de ida y vuelta. Al pegar material histórico, pruebe separadores de barra entre letras si los espacios por sí solos resultan ambiguos, o use la forma de dígrafo compacto que empaqueta cada par en dos dígitos.
Mantenga los mensajes solo alfabéticos; quite números de teléfono y puntuación antes de cifrar, o la tarea fallará con un mensaje que menciona la regla de la cuadrícula 5x5. Recuerde que la J se convierte en I tanto en la presentación al cifrar como al descifrar la celda 2,4: las pruebas que esperen una J literal tras un recorrido de ida y vuelta fallarán por diseño.
Esta página está dirigida a quienes buscan un traductor del código de golpes, un cifrador del cuadrado de Polybius o un descifrador del cifrado carcelario de golpes en línea; no es código Morse, no es un Polybius criptográfico completo con alfabetos personalizados y no es una herramienta de esteganografía que oculta golpes en audio.
Prefiera esta capacidad cuando ya disponga de letras latinas o de pares de golpes bien formados y solo necesite la correspondencia con la cuadrícula; si su fuente son puntos y rayas Morse para radio internacional, use un conversor Morse. Las comprobaciones de ida y vuelta son sencillas: cifre una palabra, reintroduzca el resultado con mode decode y compruebe que las letras coinciden con las originales, con la J plegada en I.
Qué puede hacer con ella
Práctica de cifrado en aulas y grupos scout
El profesorado cifra palabras cortas en golpes numéricos o de puntos para que el alumnado practique el conteo de filas y columnas sobre el cuadrado 5×5 estándar.
Preguntas frecuentes
¿Qué es el código de golpes?
El código de golpes es un cifrado de dos números sobre un cuadrado de Polybius 5×5: cada letra es una cuenta de fila y una de columna, que históricamente se golpeaban en una pared o una tubería. La I y la J comparten una celda.
¿Cómo se tratan la I y la J?
Ambas corresponden a la fila 2, columna 4. Al cifrar, la J se pliega en esa celda; al descifrar, ese par siempre devuelve la letra I.
¿Qué formatos admite el descifrado?
Pares separados por espacios como 2,3 1,5; dígrafos compactos como 23 15; dígitos sueltos agrupados de dos en dos; o series de puntos como .. ...
¿Qué ocurre con dígitos o signos de puntuación al cifrar?
Quedan fuera de la cuadrícula A–Z de 5×5.
¿El traductor del código de golpes es gratuito?
La herramienta del navegador es gratuita y se ejecuta localmente.
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/tap-code \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"HI"}'const res = await fetch("https://api.kit.forhosting.com/enc/tap-code", {
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/tap-code",
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/tap-code", 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/tap-code", 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.tap_code",
"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
Los caracteres que no sean A–Z al cifrar, o los valores de golpe fuera de las filas y columnas uno a cinco al descifrar, devuelven un error claro de invalid_input en lugar de adivinar.
Cómo funciona el cuadrado de Polybius 5×5 del código de golpes
Los dígitos, la puntuación, los emoji y los caracteres acentuados quedan fuera de la cuadrícula histórica; esta herramienta los rechaza con invalid_input en lugar de inventar extensiones que los manuales no comparten.
Cómo llamar a la API y qué se recibe de vuelta
Al cifrar, text solo debe contener letras A–Z tras normalizar las mayúsculas; los espacios y los saltos de línea se omiten y cualquier otro carácter no supera la validación. La longitud máxima es de cien mil caracteres. Envíe un cuerpo JSON con el campo de cadena obligatorio text (alias input, value, data, message) y el campo opcional mode con valor encode o decode (alias operation, op, direction; valor predeterminado encode). La respuesta correcta reproduce mode e input, asigna a result y numeric los pares fila,columna separados por espacios, asigna a dots series dobles de puntos separadas por barras, asigna a letters la secuencia normalizada en mayúsculas (la J se muestra como I), a pairs un array ordenado de objetos con letter, row, col, numeric y dots, a letter_count el número de letras cifradas y a message un breve resumen en inglés. Al descifrar, text puede usar pares del estilo 2,3, dígrafos compactos como 23, secuencias de dígitos sueltos en orden o series de puntos separadas por espacios o barras; los tokens no válidos o las cuentas impares de números devuelven invalid_input. El descifrado correcto asigna a result, text y letters la cadena recuperada en mayúsculas, además de los mismos campos numeric, dots, pairs y letter_count para su inspección. El precio es una tarifa fija de $0.002 por solicitud correcta, con unidad item y precio unitario marginal cero; la validación fallida nunca se cobra.
Consejos prácticos, límites y búsquedas relacionadas
Las tareas fallidas que devuelven invalid_input no consumen saldo prepagado, lo que mantiene baratos los scripts de exploración cuando quien aprende envía dígitos o secuencias de golpes de longitud impar a propósito.
Casos de integración
Salas de escape y cadenas de acertijos
Los diseñadores de juegos descifran las cadenas de golpes introducidas por los jugadores y rechazan los pares mal formados con una señal clara de invalid_input.
Pruebas golden para katas de cifrado
Los ejercicios de programación comprueban casos conocidos de cifrado y descifrado, además de caracteres fuera de la cuadrícula, sin aleatoriedad flotante.