Codificatore EBCDIC
Passi dal testo ai byte di un mainframe IBM e ritorno: Hello diventa c8 85 93 93 96 nella code page 037, e un dump esadecimale incollato da un file COBOL o da una traccia torna testo leggibile. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- Hello
- Modalità di calcolo
- To ebcdic
- Risultato
- c8 85 93 93 96
- Tabella codici
- 037
- Input
- Hello
- EBCDIC in esadecimale
- c8 85 93 93 96
I caratteri fuori dalla code page 037—emoji, ideogrammi CJK e altro Unicode fuori dal Latin-1 definito da CP037—compaiono in un report non mappati con indice e code point così può correggere l’origine invece di indovinare. L’algoritmo è un andata e ritorno puro a tabelle: nessuna rete, nessun seme casuale, nessuna dipendenza dall’orologio.
Come si relazionano ASCII ed EBCDIC code page 037 e perché contano i non mappati
ASCII memorizza le lettere latine in un blocco contiguo familiare: la A maiuscola vale sessantacinque in decimale, le cifre partono da quarantotto e lo spazio è trentadue. EBCDIC, progettato per le schede perforate IBM e System/360, riorganizza quei glifi in un diverso layout di byte. Sulla code page 037, la A maiuscola diventa esadecimale C1, la cifra zero diventa F0 e lo spazio diventa 40.
Quel riordino non è una curiosità opzionale: se tratta un file EBCDIC come UTF-8 o ISO-8859-1, ottiene mojibake e lunghezze di campo errate. Questo strumento implementa la mappatura bidirezionale di IBM CCSID 037: ogni byte da zero a duecentocinquantacinque mappa a uno scalare Unicode Latin-1, e ogni scalare Latin-1 torna esattamente a un byte EBCDIC. La codifica scorre ogni code point Unicode della stringa; se è tra zero e duecentocinquantacinque inclusi, il byte EBCDIC corrispondente viene aggiunto come due cifre hex.
La decodifica accetta coppie hex separate da spazi o una stringa hex continua di lunghezza pari, converte ogni coppia in un byte e lo espande tramite la tabella inversa in testo. Questa landing copre ricerche di codificatore EBCDIC, convertitore ASCII verso EBCDIC, code page 037 e codifica caratteri mainframe IBM—non packed decimal, non code page 500 e non dump di byte UTF-8.
Casi d'uso
Didattica e triage del supporto
Studenti e ingegneri L2 decodificano dump hex da tracce CICS in testo leggibile e confrontano fogli scritti a mano con la tabella deterministica.
Domande frequenti
Che cos’è la code page IBM EBCDIC 037?
La code page 037 (CCSID 037) è il set EBCDIC a un byte classico US/Canada sui mainframe IBM. Mappa tutti i 256 byte a scalari Unicode Latin-1 e riorganizza lettere e cifre rispetto ad ASCII.
Supporta lettere latine accentate?
Sì per i caratteri nell’intervallo Latin-1 definito da CP037 (ad esempio molti accenti dell’Europa occidentale). I caratteri fuori da quell’insieme sono segnalati come non mappati in codifica.
Il codificatore EBCDIC è gratuito?
Lo strumento del browser è gratuito e gira in locale.
Perché un file EBCDIC sembra illeggibile aperto come ASCII?
Perché EBCDIC mette le lettere su valori di byte diversi. Nella code page 037 la A maiuscola è C1 e lo spazio è 40, mentre ASCII usa 65 e 32, quindi leggere il file nel modo sbagliato cambia ogni carattere e altera la lunghezza dei campi.
Come decodifico un dump esadecimale EBCDIC?
Scelga il senso di ritorno al testo e incolli i byte in esadecimale, a coppie separate da spazi, virgole, punti e virgola o barre verticali, oppure come una sequenza continua di lunghezza pari. Una lunghezza dispari o una coppia non valida le viene segnalata invece di essere completata.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/enc/ebcdic \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello"}'const res = await fetch("https://api.kit.forhosting.com/enc/ebcdic", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/ebcdic",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/ebcdic", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/ebcdic", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "Hello"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.ebcdic",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_chars | 100000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Un codificatore EBCDIC traduce il testo quotidiano nella code page 037 dei mainframe IBM, il set di caratteri a un byte classico di Stati Uniti e Canada ancora presente in copybook COBOL, dump VSAM e payload MQ. Incolli testo semplice e scelga to_ebcdic per ricevere byte EBCDIC esadecimali separati da spazi, oppure incolli hex e scelga to_ascii per recuperare caratteri leggibili. Studenti, ingegneri di migrazione e team di supporto ottengono lo stesso JSON deterministico dall’esecutore gratuito del browser e dall’API prepagata.
Come si relazionano ASCII ed EBCDIC code page 037 e perché contano i non mappati
Se è maggiore, il carattere viene omesso dal flusso di byte e registrato in unmapped con indice nella stringa e code_point così gli operatori possono eliminare o traslitterare deliberatamente. Token hex non validi o lunghezza continua dispari sollevano invalid_input invece di inventare padding.
Come chiamare l’API e cosa contiene la risposta
Invii un corpo JSON con il campo stringa obbligatorio text (alias input, value e data) e un mode opzionale to_ebcdic o to_ascii. La modalità predefinita è to_ebcdic: ogni carattere mappabile diventa un byte EBCDIC CP037 in hex minuscolo, unito con spazi in result e ebcdic_hex. La modalità to_ascii tratta text come hex EBCDIC—coppie separate da spazi, virgole, punti e virgola, pipe, o una stringa continua da zero a nove e A a F di lunghezza pari—e restituisce la stringa recuperata in result e text. La lunghezza dell’input è limitata a centomila caratteri così una sola richiesta non esaurisce la memoria del Worker. In successo entrambe le modalità includono mode, code_page impostato alla stringa 037, input, result, bytes come interi da zero a duecentocinquantacinque, byte_count, char_count, mapped_count, unmapped_count, unmapped come array di oggetti con index, char e code_point, più un breve messaggio in inglese. La codifica espone anche ebcdic_hex uguale a result; la decodifica normalizza ebcdic_hex in coppie separate da spazi anche se ha incollato hex continuo. Validazione fallita—text assente, text non stringa, input troppo grande, mode sconosciuto, hex vuoto, hex continuo di lunghezza dispari o token che non sia esattamente due cifre esadecimali—restituisce invalid_input e non viene mai addebitata. Il prezzo è un fisso $0.002 per richiesta riuscita con unità item.
Consigli pratici, controlli di migrazione e strumenti correlati
I controlli andata e ritorno sono lo smoke test più rapido: codifichi Hello, confermi che il primo byte è C8 per H e che lo spazio sarebbe 40, poi decodifichi l’hex e confermi la stringa originale. Preferisca questa capacità quando l’intento di ricerca è testo ASCII o latino rispetto all’hex della IBM code page 037; usi un codificatore di byte UTF-8 per sequenze multibyte moderne e strumenti Base64 quando l’obiettivo è il framing di trasporto e non la traduzione del set di caratteri. Nell’insegnamento, mostri la stessa lettera come ASCII decimale, come hex CP037 e come l’interpretazione errata sotto ISO-8859-1 così gli studenti vedono perché le integrazioni mainframe richiedono ancora un passo EBCDIC esplicito. Preferisca to_ascii quando ha già copiato hex da un dump, una traccia CICS o un editor hex e vuole recuperare i glifi. Includa di proposito un emoji o un carattere CJK accanto ad ASCII semplice per affermare che unmapped_count sale e che il flusso EBCDIC contiene solo il sottoinsieme mappabile—gli script di migrazione devono fallire in chiusura quando unmapped_count è diverso da zero se il sistema di destinazione non può memorizzare quei caratteri. Mantenga i payload sotto il limite di caratteri pubblicato; dataset binari multi-megabyte restano offline con iconv o utilità di dataset. Questo strumento non è un convertitore generale della famiglia EBCDIC: le code page 500, 1047 e 1140 differiscono su simboli di valuta ed euro, quindi non assuma che l’hex sia portabile tra quei CCSID. Le attività con invalid_input non consumano il saldo prepagato, il che mantiene economici gli script esplorativi quando gli studenti incollano gruppi hex incompleti.
Casi di integrazione
Fixture di file mainframe e payload MQ
Costruisca stringhe hex EBCDIC CP037 per test di integrazione che simulano record VSAM, campi COBOL PIC X o messaggi MQ senza un sistema z/OS.
Migrazione e controlli di qualità dei dati
Codifichi nomi clienti e flag prima del caricamento; rifiuti i lotti quando unmapped_count è maggiore di zero così gli emoji non raggiungono colonne solo EBCDIC.
Domande tecniche
Come segnala il codificatore EBCDIC i caratteri non mappati?
In modalità to_ebcdic, ogni code point Unicode sopra 255 viene omesso dall’output hex e elencato in unmapped con index, un char di visualizzazione e code_point. mapped_count e unmapped_count riassumono l’esecuzione.
Quale formato si aspetta to_ascii?
Byte EBCDIC esadecimali: coppie separate da spazi come c8 85 o hex continuo di lunghezza pari come c885. Hex non valido o incompleto restituisce invalid_input.