NATOフォネティックコード
NATOと入力すると、November Alfa Tango Oscarが返ります。無線や航空のチェックリストで使われるICAOの公式つづりで変換し、コードの単語を貼り付ければ文字と数字に戻せます。単語の区切りも保たれます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 入力テキスト
- NATO
- 操作
- Encode
- NATOフォネティックコードの結果
- November Alfa Tango Oscar
無線やチェックリストでは今もICAO/NATOの音声アルファベットでコールサインを読み上げます。このツールは文字を Alfa Bravo 形式に変換し、公式綴りで復号します。
公式のつづりで誰が聞いても同じに
このツールはICAOとNATOの表にそのまま従います。AlphaではなくAlfa、Juliettはtを2つ、X-rayはハイフン付きで、数字はZeroからNineまでです。大文字でも小文字でも結果は同じで、変換後の単語は最初の文字だけが大文字の標準の形で出てきます。無線の担当者やサポート窓口、航空のチェックリストは、全員が同じ単語を使うことを前提にしているため、ひとつの表に従うことが大切です。確認コードにくだけた言い方が混じるだけで、相手に迷いが生まれます。英字と0から9の数字以外は、変換時に省かれます。
つづりに変換して元に戻す
NATOを変換すると、November Alfa Tango Oscarになります。1つの単語の中ではコードの単語を空白1つで区切り、元の単語と単語の間には前後に空白を置いたスラッシュを入れるので、復号したときに単語の区切りを復元できます。復号では空白で区切られた単語を読み、スラッシュだけの区切りで新しい単語を始め、英字は大文字、数字は数字で返します。入力できるのは2000文字までです。無線の交信前にコールサインや機体番号をつづる、サポート担当者が確認コードを読み上げる、つづりの練習問題の解答を作る、といった場面で使えます。
公式ICAO表記
文字は Alfa・Juliett・X-ray。数字は Zero〜Nine。大文字小文字は無視して照合し、出力は固定表の表記です。
パイロット訓練やサポートでも同じ綴りを保てます。
エンコードと単語区切り
入力の空白で単語を分け、単語内はスペース、単語間はスラッシュで区切ります。句読点は省略します。 コールサインの貼り付けに耐えます。
デコードは語彙が厳密
空白でトークン化し、単独のスラッシュは次の単語を始めます。数字は 0–9、文字は大文字で戻ります。
活用例
無線訓練
公式表でコールサインを読み上げます。
サポート
確認コードを口頭で伝えます。
教材
フォネティック練習の解答を生成します。
CI
encode/decode をテストで固定します。
よくある質問
AlphaではなくAlfaと書くのはなぜですか?
ICAOとNATOの公式の表ではAlfaと書くためです。このツールは公式の表に従うので、Juliettはtを2つ、X-rayはハイフン付きでつづります。
数字はどのように読み上げますか?
0から9までの数字は、ZeroからNineまでの英語の単語に変換されます。復号すると、それぞれの単語は0から9の数字に戻ります。
記号や句読点はどうなりますか?
変換の対象は英字と0から9までの数字だけで、記号や句読点は変換時に省かれます。そのため、余計な記号が混じった文字列を貼り付けても、使えるつづりになります。
復号で表にない単語があるとどうなりますか?
推測はせずに復号を止め、どの単語が分からなかったかをお知らせします。聞き間違いが、コールサインや確認コードの誤った1文字にならないようにするためです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/text/nato-phonetic \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"NATO"}'const res = await fetch("https://api.kit.forhosting.com/text/nato-phonetic", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "NATO"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/nato-phonetic",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "NATO"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/nato-phonetic", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"NATO"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"NATO"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/nato-phonetic", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "NATO"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.nato_phonetic",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_text_chars | 2000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無料ブラウザとAPIで同じ結果になります。
デコードは語彙が厳密
未知の語は invalid_input です。
制限と型付きエラー
text は必須で最大 2000 文字。欠落・不正 mode・未知語・過大入力は invalid_input です。
技術的な質問
Alfa と Alpha?
Alfa(ICAO)。
数字は?
Zero〜Nine。
句読点は?
エンコード時は省略。
単語の区切りは?
スラッシュトークン。
未知の語は?
invalid_input。
無料?
ブラウザは無料。アプリは $0.002。