ForHosting KIT · 開発者向けツール

EBCDICエンコーダ

テキストとIBMメインフレームのバイトを相互に変換できます。コードページ037ではHelloがc8 85 93 93 96になり、COBOLのファイルやトレースから貼り付けた16進ダンプは読める文字に戻ります。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
テキスト
Hello
計算モード
To ebcdic
結果
結果
c8 85 93 93 96
コードページ
037
入力
Hello
EBCDIC (16進)
c8 85 93 93 96

EBCDIC エンコーダは日常の文字列を IBM メインフレームのコードページ 037(米国・カナダ向けの古典的な 1 バイト文字集合)へ変換します。コードページ 037 外の文字—絵文字、CJK 漢字、CP037 が定義する Latin-1 を超える Unicode—は、インデックスとコードポイント付きの未マップ報告に列挙されるため、推測ではなく元データを直せます。アルゴリズムは表引きによる純粋な往復変換で、ネットワークも乱数シードも壁時計にも依存しません。

ASCII と EBCDIC コードページ 037 の関係と未マップ文字の意味

ASCII はラテン文字を連続した馴染みのあるブロックに格納します。大文字 A は十進で 65、数字は 48 から、空白は 32 です。IBM のパンチカードと System/360 向けに設計された EBCDIC は、これらの字形を別のバイト配置へ並べ替えます。

コードページ 037 では大文字 A は 16 進 C1、数字 0 は F0、空白は 40 になります。この並べ替えは任意の豆知識ではありません。本ツールは IBM CCSID 037 の双方向マッピングを実装します。

0 から 255 までの各バイトは Latin-1 の Unicode スカラーに対応し、各 Latin-1 スカラーはちょうど 1 つの EBCDIC バイトに戻ります。符号化は文字列内の各 Unicode コードポイントを走査し、0 以上 255 以下なら対応する EBCDIC バイトを 2 桁の 16 進として追加します。

復号は空白区切りの 16 進ペア、または長さが偶数の連続 16 進を受け付け、各ペアをバイトに変換し、逆引き表でテキストへ展開します。

実務のヒント、移行チェック、関連ツール

往復チェックが最速のスモークテストです。Hello を符号化し、先頭バイトが H の C8、空白なら 40 であることを確認してから 16 進を復号し、元の文字列に戻ることを確認します。本ツールは EBCDIC 族の汎用変換器ではありません。

コードページ 500・1047・1140 は通貨記号やユーロで異なり、16 進をそれらの CCSID 間で可搬と仮定しないでください。

検索意図が ASCII/ラテン文字対 IBM コードページ 037 の 16 進であるときに本能力を選び、現代の複数バイト列が必要なら UTF-8 バイトエンコーダ、文字集合の翻訳ではなく転送フレーミングが目的なら Base64 を使います。

教育では同じ文字を十進 ASCII、CP037 16 進、誤った ISO-8859-1 解釈で並べ、メインフレーム連携に明示的な EBCDIC 工程が今も必要な理由を示してください。

教育とサポートのトリアージ

学生と L2 エンジニアが CICS トレースの 16 進ダンプを可読テキストに戻し、手作業の表と決定的な対応表を突き合わせます。

IBM EBCDIC コードページ 037 とは何ですか?

コードページ 037(CCSID 037)は IBM メインフレーム上の古典的な米加向け 1 バイト EBCDIC です。256 バイトすべてを Latin-1 の Unicode スカラーに対応づけ、ASCII に対して文字と数字の並びを変えます。

アクセント付きラテン文字は扱えますか?

CP037 が定義する Latin-1 範囲の文字(西欧の多くのアクセントなど)は可能です。その集合外の文字は符号化時に未マップとして報告されます。

EBCDICのファイルをASCIIとして開くと文字化けするのはなぜですか?

EBCDICでは文字が別のバイト値に割り当てられているためです。コードページ037では大文字のAがC1、空白が40ですが、ASCIIでは65と32なので、読み方を誤るとすべての文字が変わり、項目の長さも崩れます。

EBCDICの16進ダンプはどう復号しますか?

文字に戻す方向を選び、16進のバイトを貼り付けます。空白、カンマ、セミコロン、縦線で区切った2桁ずつの並びか、偶数の長さで続いた文字列が使えます。奇数の長さや無効な組は補わずに知らせます。

絵文字や漢字はどうなりますか?

コードページ037はLatin-1の範囲しか扱わないため、これらの文字にはバイトがありません。出力からは外され、位置とコードポイントが一覧で示されるので、元の文章を意図的に直せます。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

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

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

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

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_chars100000
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

COBOL のコピーブック、VSAM ダンプ、MQ ペイロードでも今なお使われます。平文を貼り付けて to_ebcdic を選ぶと空白区切りの EBCDIC 16 進バイトが得られ、16 進を貼り付けて to_ascii を選ぶと読み取り可能な文字に戻ります。学生、移行エンジニア、サポートチームは、無料のブラウザ実行器と前払い API から同じ決定的な JSON を得られます。

ASCII と EBCDIC コードページ 037 の関係と未マップ文字の意味

EBCDIC ファイルを UTF-8 や ISO-8859-1 として扱うと文字化けし、フィールド長も崩れます。それを超える場合はバイト列から省略し、unmapped に文字列インデックスと code_point を記録するので、運用者は意図的に削除や翻字ができます。無効な 16 進トークンや奇数長の連続 16 進はパディングを捏造せず invalid_input を返します。このページは EBCDIC エンコーダ、ASCII から EBCDIC への変換、コードページ 037、IBM メインフレーム文字符号化の検索意図を対象とし、パック 10 進、コードページ 500、UTF-8 バイトダンプは対象外です。

API の呼び出し方と応答の内容

必須の文字列フィールド text(別名 input、value、data)と、任意の mode(to_ebcdic または to_ascii)を含む JSON 本体を送ってください。既定の mode は to_ebcdic で、マップ可能な各文字は小文字 16 進の EBCDIC CP037 バイトとなり、result と ebcdic_hex で空白結合されます。mode to_ascii は text を EBCDIC 16 進として扱い—空白・カンマ・セミコロン・パイプ区切りのペア、または長さが偶数の 0–9 と A–F の連続文字列—result と text に復元文字列を返します。入力長は 10 万文字に制限され、単一リクエストで Worker メモリを使い果たさないようにしています。成功時は両 mode とも mode、文字列 037 の code_page、input、result、0 から 255 の整数配列 bytes、byte_count、char_count、mapped_count、unmapped_count、index・char・code_point を持つ unmapped 配列、短い英語メッセージを含みます。符号化では ebcdic_hex が result と等しく、復号では連続 16 進を貼っても ebcdic_hex は空白区切りペアに正規化されます。text 欠落、非文字列、過大入力、未知の mode、空の 16 進、奇数長の連続 16 進、ちょうど 2 桁でない 16 進トークンなど検証失敗は invalid_input を返し、課金されません。料金は成功リクエストごとに固定の $0.002(単位 item)です。

実務のヒント、移行チェック、関連ツール

読みやすいラベル、口座名、テスト用フィクスチャがあり、パートナーが CCSID 037 で期待する 16 進像が必要なときは to_ebcdic を優先してください。ダンプ、CICS トレース、16 進エディタから既に 16 進をコピーしているときは to_ascii を優先し、字形を戻します。平文 ASCII の横に絵文字や CJK 文字を意図的に含め、unmapped_count が上がり EBCDIC ストリームがマップ可能な部分集合だけを含むことを確かめます。移行スクリプトは、対象系がそれらの文字を格納できない場合、unmapped_count が非ゼロなら fail-closed にすべきです。公開された文字数上限内にペイロードを収め、数メガバイトのバイナリデータセットは iconv やデータセットユーティリティでオフライン処理します。invalid_input の失敗タスクは前払い残高を消費しないため、学習者が不完全な 16 進グループを貼っても探索スクリプトを安く保てます。

メインフレームファイルと MQ ペイロードのフィクスチャ

z/OS 機なしで VSAM レコード、COBOL PIC X フィールド、MQ メッセージを模擬する結合試験向けに、EBCDIC CP037 の 16 進文字列を組み立てます。

移行とデータ品質チェック

ロード前に顧客名やフラグを符号化し、unmapped_count が 0 より大きいバッチを拒否して、絵文字が EBCDIC 専用列に届かないようにします。

EBCDIC エンコーダは未マップ文字をどう報告しますか?

to_ebcdic モードでは、255 を超える Unicode コードポイントは 16 進出力から省かれ、index・表示用 char・code_point 付きで unmapped に列挙されます。mapped_count と unmapped_count が実行結果を要約します。

to_ascii はどの形式を想定しますか?

16 進の EBCDIC バイトです。c8 85 のような空白区切りペア、または c885 のような偶数長の連続 16 進。無効または不完全な 16 進は invalid_input を返します。

EBCDIC エンコーダは無料ですか?

ブラウザ版は無料でローカル実行です。API 呼び出しは成功リクエストごとに $0.002 の KIT 前払い残高を使い、失敗タスクは課金されません。

KITの完全なドキュメントを見る →