国際化ドメイン名とPunycodeの役割
インターネットの基盤であるDNS(Domain Name System)は、歴史的にASCII文字のみをサポートしてきました。しかし、グローバルなインターネットの普及に伴い、日本語の漢字やひらがな、ウムラウト(ü)やデーヴァナーガリー(भारत)といった非ASCII文字を含むドメイン名(国際化ドメイン名:IDN)の必要性が高まりました。
Punycode(プニコード)は、これらのUnicode文字列をDNSが理解できるASCII互換の文字列に変換するための技術規格です。Punycodeに変換されたドメインの各ラベル(ドメインをドットで区切った各セクション)には、先頭に「xn--」という識別子が追加されます。これにより、既存のDNSインフラストラクチャを変更することなく、世界中の多様な言語で記述されたドメイン名にアクセスすることが可能になります。
UnicodeとPunycodeの相互変換プロセス
本ツールは、Unicode表現とPunycode表現の間で双方向の変換をリアルタイムに行います。
- UnicodeからPunycodeへの変換(エンコード): 「
bücher.example」のような特殊文字を含むドメイン名を、DNSシステムが処理可能な「xn--bcher-kva.example」というASCIIラベルに変換します。 - PunycodeからUnicodeへの変換(デコード): 「
xn--」で始まるASCIIラベルを検出し、人間が読みやすい元のUnicode文字列へと逆変換します。
変換方向を切り替えると、入力欄のプレースホルダーも自動的に対応する形式(bücher.example または xn--bcher-kva.example)に更新されます。また、ドメインの末尾に存在する1つのドット(終端ドット)を維持したまま変換する処理にも対応しています。
入力可能なドメイン形式と制限事項
本ツールで変換を行う際は、入力する文字列の形式に注意する必要があります。
変換可能な形式
- Unicodeドメイン:
bücher.exampleなど - Punycodeドメイン:
xn--bcher-kva.exampleなど
制限事項とエラーの対象となる形式
有効なホスト名として処理するため、以下の要素を含む入力は受け付けられません。
- プロトコル(
https://など) - パス、クエリ文字列、フラグメント(
/path?query=1#fragmentなど) - スペース(空白文字)
- 空のラベル(ドットが連続する箇所など)
- ラベルの先頭または末尾にあるハイフン
- 変換後の長さが制限を超えるラベル
- 10,000文字を超える入力
入力が制限を超えている場合や無効な場合は、出力がクリアされ、状況に応じたステータスメッセージが表示されます。
画面上のステータス表示とエラーメッセージ
ツールの操作状況や入力値の状態に応じて、以下のメッセージが画面上に表示されます。
- 準備完了。変換するドメインを貼り付けてください。: 初期状態、または入力待ちの状態です。
- 変換中...: 変換処理を実行している最中に表示されます。
- 変換しました。: 変換処理が正常に完了したことを示します。
- 最初にドメインを貼り付けてください。: 入力欄が空の状態で処理を行おうとした場合に表示されます。
- 有効なドメイン名ではありません。プロトコル、パス、スペースを含まないホスト名を使用してください。: 入力値にプロトコルやパス、スペースなどの無効な文字が含まれている場合に表示されます。
- 入力が長すぎます。
{max}文字未満にしてください。: 入力文字数が10,000文字の制限を超えた場合に表示されます。 - このドメインを変換できませんでした。: システムが変換処理を正常に完了できなかった場合に表示されます。
- クリアしました。: 入力内容および出力内容が消去された状態です。
- サンプルを読み込みました。: サンプルデータが入力欄にロードされたことを示します。
- 出力を入力に移動しました。: 変換結果の文字列を次の変換の入力欄へ移動した際に表示されます。
ローカルブラウザ処理によるプライバシー保護
本ツールに入力されたドメインの文字列は、すべて利用者のブラウザ内部でローカルに処理されます。入力データや変換結果が外部のサーバー(BroBroGo)にアップロードされることはありません。そのため、外部へのデータ送信を伴わずに、安全にドメイン名の変換作業を行うことができます。
よくある質問(FAQ)
Punycodeは何のために使われますか?
Punycode(プニコード)を使用すると、「ü」「例」「भारत」などの文字を含むドメイン名を、「xn--」で始まるASCII互換の文字列として表現できます。これにより、従来のASCII文字しかサポートしていないDNSサーバーを経由して、国際化ドメイン名にアクセスできるようになります。
完全なURLを貼り付ける必要がありますか?
いいえ、「bücher.example」や「xn--bcher-kva.example」のように、ホスト名またはドメインのみを使用してください。「https://」やパス、クエリ文字列、フラグメントは含めないでください。
ドメインが拒否されたのはなぜですか?
有効なホスト名には、スペース、空のラベル、ラベルの先頭または末尾のハイフン、または変換後に長すぎるラベルを含めることはできません。これらのルールに抵触している場合、エラーメッセージが表示されます。
変換できる文字数に上限はありますか?
はい、本ツールに入力できる最大文字数は10,000文字までに制限されています。この制限を超える長さの入力は処理できません。