ForHosting KIT · Entwickler-Tools

EBCDIC-Kodierer

Machen Sie aus Text IBM-Großrechner-Bytes und zurück: Hello wird in Codepage 037 zu c8 85 93 93 96, und ein eingefügter Hexdump aus einer COBOL-Datei oder einem Trace wird wieder lesbarer Text. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Text
Hello
Berechnungsmodus
To ebcdic
Erhalten Sie
Ergebnis
c8 85 93 93 96
Codepage
037
Eingabe
Hello
EBCDIC (Hex)
c8 85 93 93 96

Zeichen außerhalb der Codepage 037—Emoji, CJK-Ideogramme und anderer Unicode außerhalb des Latin-1-Satzes von CP037—erscheinen in einem Bericht unmapped mit Index und Codepoint, damit Sie die Quelle korrigieren statt zu raten. Der Algorithmus ist ein reiner tabellenbasierter Roundtrip: kein Netzwerk, keine Zufallsseeds, keine Wanduhr-Abhängigkeit.

Warum EBCDIC noch immer auftaucht

EBCDIC ist der Zeichensatz, den IBM für Lochkarten und das System/360 entwarf. Codepage 037, die Fassung für die USA und Kanada, steckt bis heute in COBOL-Satzbeschreibungen, VSAM-Dumps und Nachrichten zwischen Großrechnersystemen. Sie speichert dieselben Buchstaben wie ASCII, aber auf anderen Bytewerten: Ein großes A ist hexadezimal C1, die Ziffer null F0 und das Leerzeichen 40, während ASCII dezimal 65, 48 und 32 verwendet. Darum zeigt eine Großrechnerdatei, die als UTF-8 oder ISO-8859-1 geöffnet wird, verstümmelte Zeichen und Feldlängen, die nicht mehr stimmen.

So funktioniert die Umwandlung, darauf sollten Sie achten

Jedes Zeichen bis 255, also der Latin-1-Bereich, hat in Codepage 037 genau ein Byte, angezeigt als zwei kleine Hexziffern; Hello wird so zu c8 85 93 93 96. In der Gegenrichtung wird jedes Hexpaar zu einem Byte und dann zu einem Zeichen. Emoji und Schriftzeichen außerhalb von Latin-1 haben hier kein Byte und werden mit Position aufgelistet statt geraten. Beachten Sie, dass nur Codepage 037 abgedeckt ist: gepackte Dezimalzahlen, Codepage 500 oder UTF-8-Dumps liest das Werkzeug nicht.

Wie ASCII und EBCDIC Codepage 037 zusammenhängen und warum unmapped zählt

ASCII speichert lateinische Buchstaben in einem vertrauten zusammenhängenden Block: großes A ist fünfundsechzig dezimal, Ziffern beginnen bei achtundvierzig, Leerzeichen ist zweiunddreißig. EBCDIC, entworfen für IBM-Lochkarten und System/360, ordnet diese Glyphen in ein anderes Byte-Layout um. Auf Codepage 037 wird großes A zu hexadezimal C1, die Ziffer null zu F0 und Leerzeichen zu 40.

Diese Umordnung ist keine optionale Anekdote: behandeln Sie eine EBCDIC-Datei wie UTF-8 oder ISO-8859-1, erhalten Sie Mojibake und kaputte Feldlängen. Dieses Werkzeug implementiert das bidirektionale Mapping von IBM CCSID 037: jedes Byte von null bis zweihundertfünfundfünfzig mappt auf einen Latin-1-Unicode-Skalar, und jeder Latin-1-Skalar zurück auf genau ein EBCDIC-Byte. Die Kodierung läuft über jeden Unicode-Codepoint Ihrer Zeichenkette; liegt er zwischen null und zweihundertfünfundfünfzig einschließlich, wird das passende EBCDIC-Byte als zwei Hex-Ziffern angehängt.

Die Dekodierung akzeptiert durch Leerzeichen getrennte Hex-Paare oder eine fortlaufende Hex-Zeichenkette gerader Länge, wandelt jedes Paar in ein Byte und expandiert es über die Umkehrtabelle zu Text.

Lehre und Support-Triage

Studierende und L2-Ingenieure dekodieren Hex-Dumps aus CICS-Traces zu lesbarem Text und vergleichen handkodierte Arbeitsblätter mit der deterministischen Tabelle.

Was ist IBM EBCDIC Codepage 037?

Codepage 037 (CCSID 037) ist der klassische US/Kanada-Ein-Byte-EBCDIC-Satz auf IBM-Mainframes. Er mappt alle 256 Bytes auf Latin-1-Unicode-Skalare und ordnet Buchstaben und Ziffern gegenüber ASCII um.

Unterstützt es akzentuierte lateinische Buchstaben?

Ja für Zeichen im Latin-1-Bereich, den CP037 definiert (zum Beispiel viele westeuropäische Akzente). Zeichen außerhalb dieses Satzes werden beim Kodieren als unmapped gemeldet.

Warum sieht eine EBCDIC-Datei als ASCII geöffnet wie Kauderwelsch aus?

Weil EBCDIC die Buchstaben auf andere Bytewerte legt. In Codepage 037 ist ein großes A C1 und ein Leerzeichen 40, ASCII nutzt dafür 65 und 32. Wer die Datei falsch liest, verändert jedes Zeichen und bringt die Feldlängen durcheinander.

Wie dekodiere ich einen EBCDIC-Hexdump?

Wählen Sie die Richtung zurück zu Text und fügen Sie die Hexbytes ein, als Paare getrennt durch Leerzeichen, Kommas, Semikolons oder senkrechte Striche oder als durchgehende Folge gerader Länge. Eine ungerade Länge oder ein ungültiges Paar wird Ihnen gemeldet statt aufgefüllt.

Was passiert mit Emoji oder chinesischen Schriftzeichen?

Sie haben in Codepage 037, die nur den Latin-1-Bereich abdeckt, kein Byte. Deshalb werden sie ausgelassen und mit Position und Codepunkt aufgelistet, damit Sie die Quelle gezielt bereinigen können, statt zu raten.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/enc/ebcdic

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

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"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

max_chars100000
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Ein EBCDIC-Kodierer übersetzt Alltagstext in die IBM-Mainframe-Codepage 037, den klassischen Ein-Byte-Zeichensatz der USA und Kanadas, der weiterhin in COBOL-Copybooks, VSAM-Dumps und MQ-Payloads vorkommt. Fügen Sie Klartext ein und wählen Sie to_ebcdic, um durch Leerzeichen getrennte hexadezimale EBCDIC-Bytes zu erhalten, oder fügen Sie Hex ein und wählen Sie to_ascii, um lesbare Zeichen zurückzugewinnen.

Wie ASCII und EBCDIC Codepage 037 zusammenhängen und warum unmapped zählt

Ist er höher, entfällt das Zeichen im Bytestrom und wird in unmapped mit String-Index und code_point erfasst, damit Betreiber gezielt streichen oder transliterieren können. Ungültige Hex-Token oder ungerade fortlaufende Länge lösen invalid_input aus statt Padding zu erfinden. Diese Seite zielt auf Suchen nach EBCDIC-Kodierer, ASCII-zu-EBCDIC-Konverter, Codepage 037 und IBM-Mainframe-Zeichenkodierung—nicht Packed Decimal, nicht Codepage 500 und nicht UTF-8-Bytedumps.

So rufen Sie die API auf und was die Antwort enthält

Senden Sie einen JSON-Body mit dem Pflicht-Stringfeld text (Aliasse input, value und data) und optionalem mode to_ebcdic oder to_ascii. Der Standardmodus ist to_ebcdic: jedes mappbare Zeichen wird zu einem EBCDIC-CP037-Byte in Kleinbuchstaben-Hex, mit Leerzeichen verbunden in result und ebcdic_hex. Modus to_ascii behandelt text als EBCDIC-Hex—Paare getrennt durch Leerzeichen, Kommas, Semikolons, Pipes oder eine fortlaufende Null-bis-Neun- und A-bis-F-Zeichenkette gerader Länge—und liefert die wiederhergestellte Zeichenkette in result und text. Die Eingabelänge ist auf einhunderttausend Zeichen begrenzt, damit eine Anfrage den Worker-Speicher nicht erschöpft. Bei Erfolg enthalten beide Modi mode, code_page als Zeichenkette 037, input, result, bytes als Ganzzahlen von null bis zweihundertfünfundfünfzig, byte_count, char_count, mapped_count, unmapped_count, unmapped als Array von Objekten mit index, char und code_point sowie eine kurze englische Meldung. Kodierung setzt außerdem ebcdic_hex gleich result; Dekodierung normalisiert ebcdic_hex zu leerzeichengetrennten Paaren, auch wenn Sie fortlaufendes Hex eingefügt haben. Fehlgeschlagene Validierung—fehlendes text, text kein String, zu große Eingabe, unbekannter mode, leeres Hex, fortlaufendes Hex ungerader Länge oder Token ohne genau zwei Hexadezimalziffern—liefert invalid_input und wird nie berechnet. Der Preis ist pauschal $0.002 pro erfolgreicher Anfrage mit Einheit item.

Praktische Tipps, Migrationschecks und verwandte Werkzeuge

Roundtrip-Checks sind der schnellste Smoke-Test: kodieren Sie Hello, bestätigen Sie, dass das erste Byte C8 für H ist und Leerzeichen 40 wäre, dekodieren Sie dann das Hex und bestätigen Sie die Originalzeichenkette. Bevorzugen Sie diese Fähigkeit, wenn die Suchintention ASCII- oder lateinischer Text versus IBM-Codepage-037-Hex ist; nutzen Sie einen UTF-8-Byte-Kodierer für moderne Mehrbyte-Sequenzen und Base64-Werkzeuge, wenn das Ziel Transport-Framing statt Zeichensatz-Übersetzung ist. Beim Unterrichten zeigen Sie denselben Buchstaben als dezimales ASCII, als CP037-Hex und als falsche ISO-8859-1-Interpretation, damit Studierende sehen, warum Mainframe-Integrationen weiterhin einen expliziten EBCDIC-Schritt brauchen. Bevorzugen Sie to_ascii, wenn Sie Hex bereits aus einem Dump, einem CICS-Trace oder einem Hex-Editor kopiert haben und die Glyphen zurückwollen. Fügen Sie absichtlich ein Emoji oder CJK-Zeichen neben reinem ASCII ein, um zu prüfen, dass unmapped_count steigt und der EBCDIC-Strom nur die mappbare Teilmenge enthält—Migrationsskripte sollten fail-closed sein, wenn unmapped_count ungleich null ist und das Zielsystem diese Zeichen nicht speichern kann. Halten Sie Payloads unter dem veröffentlichten Zeichenlimit; binäre Datensätze mit mehreren Megabyte gehören offline zu iconv oder Dataset-Werkzeugen. Dieses Werkzeug ist kein allgemeiner EBCDIC-Familienkonverter: Codepages 500, 1047 und 1140 unterscheiden sich bei Währungs- und Eurozeichen, also setzen Sie keine Portabilität des Hex über diese CCSIDs voraus. Fehlgeschlagene Tasks mit invalid_input verbrauchen kein Prepaid-Guthaben, was explorative Skripte günstig hält, wenn Lernende unvollständige Hex-Gruppen einfügen.

Fixtures für Mainframe-Dateien und MQ-Payloads

Erzeugen Sie EBCDIC-CP037-Hex-Zeichenketten für Integrationstests, die VSAM-Sätze, COBOL-PIC-X-Felder oder MQ-Nachrichten ohne z/OS-Box simulieren.

Migration und Datenqualitätsprüfungen

Kodieren Sie Kundennamen und Flags vor dem Laden; lehnen Sie Batches ab, wenn unmapped_count größer als null ist, damit Emoji nie EBCDIC-only-Spalten erreichen.

Wie meldet der EBCDIC-Kodierer unmapped Zeichen?

Im Modus to_ebcdic wird jeder Unicode-Codepoint über 255 im Hex-Output ausgelassen und in unmapped mit index, Anzeige-char und code_point gelistet. mapped_count und unmapped_count fassen den Lauf zusammen.

Welches Format erwartet to_ascii?

Hexadezimale EBCDIC-Bytes: leerzeichengetrennte Paare wie c8 85 oder fortlaufendes Hex gerader Länge wie c885. Ungültiges oder unvollständiges Hex liefert invalid_input.

Ist der EBCDIC-Kodierer kostenlos?

Das Browser-Werkzeug ist kostenlos und läuft lokal. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreicher Anfrage; fehlgeschlagene Tasks werden nie berechnet.

Vollständige KIT-Dokumentation lesen →