ForHosting KIT · Utilidades de desarrollo

Codificador EBCDIC

Pase texto a bytes de mainframe IBM y vuelva: Hello se convierte en c8 85 93 93 96 en la página de códigos 037, y un volcado hexadecimal pegado desde un archivo COBOL o una traza vuelve como texto legible. 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
Hello
Modo de cálculo
To ebcdic
Obtiene
Resultado
c8 85 93 93 96
Página de códigos
037
Entrada
Hello
EBCDIC en hex
c8 85 93 93 96

Un codificador EBCDIC traduce el texto cotidiano a la página de códigos 037 de mainframe IBM, el juego de caracteres de un byte clásico de EE. UU. y Canadá que sigue apareciendo en copybooks COBOL, volcados VSAM y cargas MQ. Los caracteres fuera de la página 037—emoji, ideogramas CJK y otro Unicode fuera del conjunto Latin-1 que define CP037—figuran en un informe de no mapeados con índice y code point para que pueda corregir el origen en lugar de adivinar. El algoritmo es un ida y vuelta puro por tablas: sin red, sin semillas aleatorias, sin dependencia del reloj.

Cómo se relacionan ASCII y EBCDIC página 037, y por qué importan los no mapeados

ASCII guarda las letras latinas en un bloque contiguo familiar: la A mayúscula es sesenta y cinco en decimal, los dígitos parten del cuarenta y ocho y el espacio es treinta y dos. EBCDIC, pensado para tarjetas perforadas IBM y System/360, reordena esos glifos en otra disposición de bytes. En la página 037, la A mayúscula pasa a hexadecimal C1, el dígito cero a F0 y el espacio a 40.

Ese reordenamiento no es una curiosidad opcional: si trata un fichero EBCDIC como UTF-8 o ISO-8859-1, obtiene mojibake y longitudes de campo rotas. Esta herramienta implementa el mapeo bidireccional de IBM CCSID 037: cada byte de cero a doscientos cincuenta y cinco se corresponde con un escalar Unicode Latin-1, y cada escalar Latin-1 vuelve a exactamente un byte EBCDIC. La codificación recorre cada code point Unicode de su cadena; si está entre cero y doscientos cincuenta y cinco inclusive, se añade el byte EBCDIC correspondiente como dos dígitos hex.

La decodificación acepta pares hex separados por espacios o una cadena hex continua de longitud par, convierte cada par en un byte y lo expande por la tabla inversa a texto. Esta página cubre búsquedas de codificador EBCDIC, convertidor ASCII a EBCDIC, página de códigos 037 y codificación de caracteres de mainframe IBM—no decimal empaquetado, no página 500 ni volcados de bytes UTF-8.

Consejos prácticos, comprobaciones de migración y herramientas relacionadas

Las comprobaciones de ida y vuelta son la prueba de humo más rápida: codifique Hello, confirme que el primer byte es C8 para H y que el espacio sería 40, luego decodifique el hex y confirme que recupera la cadena original. Mantenga las cargas bajo el límite de caracteres publicado; los conjuntos binarios de varios megabytes pertenecen fuera de línea con iconv o utilidades de dataset.

Esta herramienta no es un convertidor general de la familia EBCDIC: las páginas 500, 1047 y 1140 difieren en símbolos de moneda y euro, así que no asuma que el hex es portable entre esos CCSID. Prefiera esta capacidad cuando la intención de búsqueda sea texto ASCII o latino frente a hex de página IBM 037; use un codificador de bytes UTF-8 cuando necesite secuencias multibyte modernas, y herramientas Base64 cuando el objetivo sea enmarcado de transporte y no traducción de juego de caracteres.

Al enseñar, muestre la misma letra como ASCII decimal, como hex CP037 y como la interpretación errónea bajo ISO-8859-1 para que los estudiantes vean por qué las integraciones de mainframe siguen necesitando un paso EBCDIC explícito.

Docencia y triaje de soporte

Estudiantes e ingenieros L2 decodifican volcados hex de rastros CICS a texto legible y comparan hojas hechas a mano con la tabla determinista.

¿Qué es la página de códigos IBM EBCDIC 037?

La página 037 (CCSID 037) es el juego EBCDIC de un byte clásico de EE. UU. /Canadá en mainframes IBM. Mapea los 256 bytes a escalares Unicode Latin-1 y reordena letras y dígitos respecto a ASCII.

¿Admite letras latinas acentuadas?

Sí, para caracteres del rango Latin-1 que define CP037 (por ejemplo muchos acentos de Europa occidental). Los caracteres fuera de ese conjunto se informan como no mapeados al codificar.

¿Es gratuito el codificador EBCDIC?

La herramienta del navegador es gratuita y se ejecuta en local.

¿Por qué un archivo EBCDIC se ve ilegible al abrirlo como ASCII?

Porque EBCDIC coloca las letras en valores de byte distintos. En la página de códigos 037 la A mayúscula es C1 y el espacio es 40, mientras que ASCII usa 65 y 32, así que leerlo del modo equivocado cambia cada carácter y descuadra las longitudes de los registros.

¿Cómo descodifico un volcado hexadecimal EBCDIC?

Elija el sentido de vuelta a texto y pegue los bytes en hexadecimal, en pares separados por espacios, comas, puntos y comas o barras verticales, o como una cadena continua de longitud par. Una longitud impar o un par inválido se le señalan en lugar de rellenarse.

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/enc/ebcdic

¿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/enc/ebcdic \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello"}'
{
  "text": "Hello"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.ebcdic",
  "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_chars100000
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.

Pegue texto plano y elija to_ebcdic para obtener bytes EBCDIC hexadecimales separados por espacios, o pegue hex y elija to_ascii para recuperar caracteres legibles. Estudiantes, ingenieros de migración y equipos de soporte obtienen el mismo JSON determinista desde el ejecutor gratuito del navegador y la API prepago.

Cómo se relacionan ASCII y EBCDIC página 037, y por qué importan los no mapeados

Si es mayor, el carácter se omite del flujo de bytes y se registra en unmapped con su índice en la cadena y code_point para que los operadores puedan eliminar o transliterar de forma deliberada. Tokens hex inválidos o una longitud continua impar provocan invalid_input en lugar de inventar relleno.

Cómo llamar a la API y qué contiene la respuesta

Envíe un cuerpo JSON con el campo de cadena obligatorio text (alias input, value y data) y un mode opcional to_ebcdic o to_ascii. El modo por defecto es to_ebcdic: cada carácter mapeable se convierte en un byte EBCDIC CP037 en hex en minúsculas, unido con espacios en result y ebcdic_hex. El modo to_ascii trata text como hex EBCDIC—pares separados por espacios, comas, puntos y coma, barras verticales, o una cadena continua de cero a nueve y A a F de longitud par—y devuelve la cadena recuperada en result y text. La longitud de entrada está limitada a cien mil caracteres para que una sola petición no agote la memoria del Worker. En éxito ambos modos incluyen mode, code_page con la cadena 037, input, result, bytes como enteros de cero a doscientos cincuenta y cinco, byte_count, char_count, mapped_count, unmapped_count, unmapped como array de objetos con index, char y code_point, más un mensaje breve en inglés. La codificación también expone ebcdic_hex igual a result; la decodificación normaliza ebcdic_hex a pares separados por espacios aunque haya pegado hex continuo. La validación fallida—text ausente, text no cadena, entrada demasiado grande, mode desconocido, hex vacío, hex continuo de longitud impar o un token que no sean exactamente dos dígitos hexadecimales—devuelve invalid_input y nunca se cobra. El precio es un fijo $0.002 por petición correcta con unidad item.

Consejos prácticos, comprobaciones de migración y herramientas relacionadas

Prefiera to_ascii cuando ya haya copiado hex de un volcado, un rastro CICS o un editor hex y quiera recuperar los glifos. Incluya a propósito un emoji o un carácter CJK junto a ASCII plano para afirmar que unmapped_count sube y que el flujo EBCDIC solo contiene el subconjunto mapeable—los scripts de migración deben fallar en cerrado cuando unmapped_count sea distinto de cero si el sistema destino no puede almacenar esos caracteres. Las tareas fallidas con invalid_input no consumen saldo prepago, lo que mantiene baratos los scripts exploratorios cuando los alumnos pegan grupos hex incompletos.

Fixtures de ficheros mainframe y cargas MQ

Construya cadenas hex EBCDIC CP037 para pruebas de integración que simulen registros VSAM, campos COBOL PIC X o mensajes MQ sin un equipo z/OS.

Migración y control de calidad de datos

Codifique nombres de clientes y flags antes de la carga; rechace lotes cuando unmapped_count sea mayor que cero para que los emoji no lleguen a columnas solo EBCDIC.

¿Cómo informa el codificador EBCDIC de los caracteres no mapeados?

En modo to_ebcdic, todo code point Unicode por encima de 255 se omite en la salida hex y se lista en unmapped con index, un char de visualización y code_point. mapped_count y unmapped_count resumen la ejecución.

¿Qué formato espera to_ascii?

Bytes EBCDIC hexadecimales: pares separados por espacios como c8 85 o hex continuo de longitud par como c885. Hex inválido o incompleto devuelve invalid_input.

Ver la documentación completa del KIT →