Baudot ITA2エンコーダ
「HI」はBaudot–Murray ITA2で10100 00110になります。テレックスや無線テレタイプで使われた5ビットの符号で、文字と数字のシフトを自動で入れ、ITA2で送れない記号は一覧で示します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- HI
- 計算モード
- Encode
- 結果
- 10100 00110
- エンコード
- baudot-ita2
- コード
- 20, 6
- コード数
- 2
Baudot–Murray符号は国際電信文字第2号(ITA2またはCCITT-2)として標準化され、20世紀の大半にわたりニュース回線・テレックス・無線テレタイプを運んだ5ビットのテレプリンタ用文字表です。モールスと異なり、各文字は固定の5ビット枠を占め、同じ符号番号が文字か数字かを決めるのは、ストリームが最後に文字シフト(LTRS)と数字シフト(FIGS)のどちらを選んだかです。符号化の歴史を学ぶ学生、RTTY機材を復元するアマチュア無線家、CTF解答者、文書化ツールはいずれも、シフトを正しく挿入し、A–Zと古典的な数字集合を対応づけ、ITA2が表現できない文字を報告する決定論的な変換器を必要とします。本機能は平文を空白区切りの5ビット群に符号化し、二進・十進・十六進トークン列をテキストへ復号し、未対応グリフを列挙するため、記号を黙って落とすことがありません。
Baudot–Murray ITA2とは何か、文字シフトと数字シフトの仕組み
ITA2は5ビットの文字集合で、とりうる値は三十二通りです。そのうち五つは印字可能なグリフではなく、共有の制御またはシフトです。NULL(空白)、改行、復帰、FIGS(数字ケースへ切替)、LTRS(文字ケースへ切替)です。
残りの符号は現在のケースで解釈されます。文字ケースではA–Zと空白が得られ、数字ケースでは同じ数値符号が3、-、'、8、7、4、読点、感嘆符、コロン、括弧、5、プラス、2、ハッシュ(またはポンド記号セル)、6、0、1、9、疑問符、アンパサンド、ピリオド、スラッシュ、セミコロンなどの数字・句読点になります。
テレプリンタは文字ケースで起動するため、エンコーダはLTRSから始め、次の文字が数字を要するときだけFIGSを出し、文字が再開すると再びLTRSを出します。空白・CR・LFは両ケースで有効で、シフトを強制しません。
符号化では各文字を走査し、ラテン文字を大文字化し、必要なケースが現在と異なるときLTRSまたはFIGSを挿入し、その文字の5ビットパターンを付けます。復号は文字ケースから開始し、LTRS/FIGSトークンで状態を更新し、NULLを無視し、活性テーブルの文字を出力します。
数字側のWRUとBELセルには通常の印字形がなく、私的グリフを発明せず未マップ符号ラベルとして報告します。
活用例
ITA2とテレプリンタ史の授業ラボ
学生に短いメッセージを符号化させ、自動のLTRS/FIGS挿入を確認し、自分のビット列を復号して5ビットシフト模型を確かめさせます。
RTTYとビンテージTelexのツール
機械式キーボードなしで、無線テレタイプ演習・博物館デモ・復元メモ用に決定論的なITA2の5ビット群を生成します。
CTFと古典符号化チャレンジ
5ビットBaudotダンプを復号し、教材表や回線フォーマット解説と同じシフト規則で解答を再符号化します。
よくある質問
Baudot–Murray ITA2とは何ですか?
ITA2(CCITT-2)は5ビットのテレプリンタ文字表です。符号0–31は文字シフト(LTRS)か数字シフト(FIGS)かで異なる文字を意味します。本ツールはその文字表を自動シフト挿入付きで符号化・復号します。
文字シフトと数字シフトはどのように働きますか?
ストリームは文字ケースから始まります。数字や数字側句読点が必要なときは先にFIGS符号(11011)を出し、文字が再開するときはLTRS符号(11111)を出します。空白・CR・LFは両ケースでシフトを強制しません。
復号時に使える形式は何ですか?
空白区切りの5ビット群(例:00011 00101)、十進0–31、十六進0x00–0x1f、長さが5の倍数の連続二進文字列です。
Baudot ITA2で書けない文字はどれですか?
ITA2が扱えるのはAからZ、数字、空白、復帰、改行と、- ' ! , ( ) : + / ? & . ; # £などの少数の記号です。小文字は大文字に変わり、それ以外は飛ばして一覧に示すので、記号が黙って消えることはありません。
符号化したメッセージに11011や11111が入るのはなぜですか?
これはシフト符号で、11011は数字への切り替え、11111は文字への切り替えです。文字と数字や記号が入れ替わるたびに自動で入ります。HIのように文字だけのテキストでは、シフトは入りません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/baudot \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"HI"}'const res = await fetch("https://api.kit.forhosting.com/enc/baudot", {
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/baudot",
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/baudot", 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/baudot", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "HI"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.baudot",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
Baudot–Murray ITA2とは何か、文字シフトと数字シフトの仕組み
本エンドポイントはその古典的な状態機械に従います。
入力契約・出力フィールド・未マップ文字の報告方法
符号化ではtextは通常の平文、復号ではITA2符号のストリームです。符号化は大文字小文字いずれのA–Z、数字0から9、空白、復帰、改行、およびハイフン・アポストロフィ・読点・感嘆符・コロン・括弧・プラス・疑問符・アンパサンド・ピリオド・スラッシュ・セミコロン・ハッシュ・ポンド記号を含む数字側句読点を受け付けます。マップ済み文字は引き続き符号を生成します。復号は00011のような空白区切り5ビット群、0から31の十進整数、0x03のような十六進トークン、長さが5の倍数の連続二進文字列を受け付けます。必須の文字列フィールドtextを含むJSON本体をPOSTしてください。任意のmodeは既定がencodeで、decodeおよびenc、e、to_baudot、dec、d、from_baudotなどの短い別名も受け付けます。ペイロードの別名にはinput、value、data、s、message、plaintext、ciphertextがあり、既存の形を再利用できます。それ以外の文字——アットマーク、パーセント、絵文字、ITA2アルファベット外のアクセント付き文字——はスキップされ、unmapped配列に初出順で一度だけ記録され、unmapped_countに数えられます。文字列にマップ可能なものがなければ、空の成功ではなくinvalid_inputで失敗します。不正なトークン、範囲外の十進、長さが5の倍数でない連続二進はinvalid_inputとなり課金されません。成功時の本体にはresult(符号化時は二進群、復号時は平文)、mode、baudot-ita2に設定されたencoding、挿入されたシフトを含む0から31の整数配列codes、code_count、mapped、unmapped、unmapped_count、shift_count、input_length、output_length、ITA2シフト規則を要約する短いformula文字列が含まれます。成功したAPI呼び出しは公開ベース価格$0.002を1件あたり使用し、検証失敗は残高を消費しません。
Baudot ITA2エンコーダが実務で役立つ場面
計算機史と符号化理論の授業では、5ビットと2つのシフト符号だけで6ビットなしに文字と数字を覆える理由を学生が理解し、手組みストリームを逆変換してシフト挿入を確認するためにBaudot ITA2エンコーダを使います。アマチュア無線やビンテージTelex復元では、機械式テレプリンタが選んだのと同じビット群を、数字列の前の自動FIGSと文字再開時のLTRS込みで返す決定論的オラクルが必要です。文書化や博物館展示のソフトは、完全なRTTYモデムスタックを立てずにキャプション用のラベル付き例を生成します。CTFや古典暗号の課題ではITA2の二進・十進ダンプにフラグが隠されることがあり、両方向の変換と、トークンが合法な5ビット群でないときの明確なinvalid_inputが求められます。実装は純粋なparseティアAのため、成功呼び出しはモデルトークンも外向きネットワークもなく公開ベース価格$0.002であり、検証失敗は無料です。文書化された文字数制限内にリクエストを収め、教室デモでは無料ブラウザを優先し、同一の同型libに対する大量フィクスチャや自動採点にはAPIを呼び出してください。
技術的な質問
ITA2が表現できない文字はどうなりますか?
符号化時はスキップされ、unmapped配列に各1回(unmapped_count付き)列挙されます。マップ済み文字は符号を生成し続けます。何もマップされなければinvalid_inputで失敗します。
Baudot ITA2エンコーダの料金は?
ブラウザ版は無料です。API要求は成功した呼び出しごとにKITの前払い残高から$0.002を使用し、無効な入力は課金されません。