HTML名前付き→数値参照
HTMLエンティティを名前と数値の間で変換します。©は©、—は—になるので、すべての名前を知らないXMLパーサーやメール配信経路も通せます。読みやすいソースに戻すこともできます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Copyright © 2024 — all rights reserved
- 計算モード
- To numeric
- 結果
- Copyright © 2024 — all rights reserved
- 変換後
- 2
- エンコード
- entity_named_to_numeric
- 入力の長さ
- 49
HTMLの著者やパイプライン担当者は、同じ文字を二通りに書く必要にしばしば直面します。© や — のような名前付きエンティティと、© や — のような数値文字参照です。名前付きはソース上で読みやすく、数値形は完全なHTML名前表を持たないXMLパーサ、メールクライアント、厳格な処理系を通りやすいです。本機能は名前付きHTMLエンティティを等価な十進数値文字参照へ書き換え、コードポイントが既知のときは数値参照を優先される名前付き形へ戻します。経路は完全に決定的で、同じ text と mode は常に同じ結果を返し、ネットワーク呼び出し・乱数・日付依存はありません。
名前付きエンティティと数値文字参照の違い
名前付きHTMLエンティティは、著作権記号の © やエムダッシュの — のような記憶しやすいエスケープです。数値文字参照は同じUnicodeスカラーを十進の © または十六進の © で表します。
どちらもHTMLでは有効ですが、数値形は一部のXML方言で必須となり、消費側がすべてのHTML5名を知らない場合に好まれます。本ツールは生のプレーンテキストをエンティティに符号化せず、表示用にエンティティをグリフへ復号もしません。それは一般のHTMLエンティティエンコーダの仕事です。
ここでの契約は、文字列にすでに現れている名前付き参照と数値参照のあいだの形式変換だけです。セミコロンで終わる完全なエンティティにならない裸の & はそのまま残り、未完成の下書きを壊さず、¬anentity; のような完全だが未知の名前は検出します。
名前付きから数値への変換が役立つ場面
メール向けHTMLパイプラインは 、’、— だらけのCMSコンテンツから始まり、数値参照だけを保証するゲートウェイを通さなければならないことがよくあります。XMLシリアライザやSVG埋め込みも、XML 1.0にない名前より &#N; を好みます。
品質エンジニアは両方向を契約テストに固定し、ミドルウェアがリリース間で & や € の出力を黙って変えないようにします。ローカライズとアクセシビリティのチームは、著作権・商標・句読点エンティティがテンプレート間で一貫しているかを監査するときに同じ変換を使います。教育者は名前付き・十進・十六進の違いを単一の決定的オラクルで示せます。
プレーンテキストの & や山括弧をエスケープするときは一般のHTMLエンティティエンコーダと、HTML参照ではなく U+XXXX トークンが必要なときはUnicodeコードポイントツールと組み合わせてください。検索意図は異なり、tier A符号化カタログと同様の純粋parseの信頼性です。
活用例
メールとXMLのエンティティ正規化
厳格なメールやXML処理系へHTMLを送る前に、© や — などのCMSの名前付きエンティティを十進数値参照へ書き換えてください。
編集者向けの数値表記の整理
レガシーな © と — のダンプを、人間の編集者やテンプレート確認向けの読みやすい名前付きエンティティへ戻します。
エンティティ形式のCIフィクスチャ
名前付き→数値と数値→名前付きの決定的な組を生成し、ミドルウェアがリリース間でエンティティ様式を変えないようにします。
よくある質問
一般のHTMLエンティティエンコーダとの違いは何ですか?
一般エンコーダは特殊文字をエンティティにし、エンティティをグリフへ戻します。本ツールは名前付き参照を数値へ(および逆)書き換えるだけで、エンティティ以外の本文はエスケープしません。
名前付きエンティティを数値参照に変換するのはなぜですか?
数値参照のほうが確実に伝わるためです。XMLパーサーや一部のメールソフト、厳格な処理系はHTMLの名前を全部は知らず、数値を求めるXML方言もありますが、©はどこでも著作権記号として通じます。
知らない名前のエンティティがあるとどうなりますか?
変換を止め、¬anentity;のように知らない名前を示します。打ち間違いが完成した文書に残らないよう、そのエンティティを直すか消してから、もう一度変換してください。
©のような16進の参照も使えますか?
はい、入力として使えます。名前に変換するときは、©と同じく©も©になります。数値で出力するときは毎回同じ結果になるよう、常に10進で書きます。
エンティティになっていない&記号はどうなりますか?
そのまま残ります。変換するのはセミコロンで終わる完全なエンティティだけなので、下書きにある単独の&記号が残りの文章を壊すことはありません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/entity-named-to-numeric \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Copyright © 2024 — all rights reserved"}'const res = await fetch("https://api.kit.forhosting.com/enc/entity-named-to-numeric", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Copyright © 2024 — all rights reserved"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/entity-named-to-numeric",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Copyright © 2024 — all rights reserved"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/entity-named-to-numeric", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Copyright © 2024 — all rights reserved"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Copyright © 2024 — all rights reserved"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/entity-named-to-numeric", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Copyright © 2024 — all rights reserved"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.entity_named_to_numeric",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
未知の名前は invalid_input で報告され、本番マークアップに誤字が黙って残ることを防ぎます。単発の整理には無料のブラウザツールを、CMSエクスポート、メールテンプレート、CIフィクスチャで再現可能な名前付き→数値変換が必要なときは API を成功1回あたり $0.002 でご利用ください。
名前付きエンティティと数値文字参照の違い
mode が to_numeric のとき、整形式の &name; は共通のXML・HTML4・広く使われるHTML5名の固定マップで検索され、安定した十進 &#N; トークンに書き換えられます。to_named では整形式の &#N; または &#xH; が登録済みコードポイントなら優先名へ戻り、— は — に、© は © になります。
入力契約・モード・未知名の報告方法
変換対象の断片を持つ必須文字列フィールド text を含む JSON 本体を POST してください。エイリアス input、value、s、html も受け付けるため、フォームやSDKクライアントは既存のフィールド名を再利用できます。mode の既定は to_numeric で、to_named にも設定できます。エイリアス op、direction、action は同じ切替にマップされます。to_numeric ではハンドラが名前付きエンティティのみを走査し、既知名を &#codepoint; に書き換え、完全な未知名があれば invalid_input で失敗し、メッセージに未知名を列挙して一度の修正で済むようにします。to_named では十進・十六進の数値参照を走査し、既知のコードポイントを優先名へ書き換え、未マップのコードポイントは正規化した十進参照のまま残し、件数が1以上なら unmapped_numeric に数えます。サロゲートやUnicodeスカラー範囲外は壊れたUTF-16を出さず invalid_input になります。成功ペイロードは常に result、mode、encoding(固定値 entity_named_to_numeric)、書き換え件数 converted、input_length、output_length、成功時は空配列の unknown_names を含みます。ネットワークも Date も乱数もないため、無料のブラウザ経路と有料APIは同じ入力に対し同一のJSONを返します。検証失敗は課金されず、成功呼び出しは公開されている基本価格 $0.002 が1件あたりに適用されます。
名前付きから数値への変換が役立つ場面
問題を逆にするコンテンツ移行—編集者が名前付きとして読みたいレガシーな十進ダンプ—では mode を to_named にし、© ではなく © を編集できるようにします。本ページでは処理はすべてブラウザ内で完結し、APIでは成功した変換ごとに $0.002、無効入力は非課金、応答後に保存はしません。
技術的な質問
© と — を数値形にするには?
それらの名前付きエンティティを含む text を mode to_numeric(既定)で送ってください。APIは © や — などの十進参照と converted 件数を返します。
名前付きエンティティが未知の場合は?
タスクは invalid_input で失敗し、メッセージに未知名が列挙されます。書き換えは行われず、呼び出しは課金されません。
数値エンティティを名前に戻せますか?
はい。mode を to_named にしてください。既知のコードポイントは © のような優先名になり、未マップは十進数値参照のまま残り、あれば unmapped_numeric に数えられます。
HTMLの名前付き→数値変換の料金は?
ブラウザツールは無料です。APIリクエストは成功1回あたり $0.002 のKIT前払い残高を使い、無効入力は課金されません。