URLエンコーダー / デコーダー: テキストのパーセントエンコード
プレーンテキストをパーセントエンコードされたURL文字列に変換するか、パーセントエンコードされた文字列をブラウザ上でそのままプレーンテキストにデコードします。
URLエンコードとデコード
このツールは、URL内で使うためにテキストを通常の形式とパーセントエンコード形式の間で双方向に変換します。エンコードモードでは任意のテキストをURLセーフな文字列に変換し、デコードモードではパーセントエンコードされた文字列を1文字ずつ元のテキストに戻します。
仕組み
エンコードは、英大文字・英小文字、数字の0から9、そして - _ . ! ~ * ' ( ) の6つの記号からなる小さな許可済み文字集合の外にあるすべての文字を、UTF-8における2桁の16進数バイト値の前にパーセント記号を付けた形に置き換えます。そのため半角スペースはプラス記号ではなく%20になり、アクセント付きの文字は2バイトまたは3バイトの%XXになります。URLセーフオプションはさらに一歩進んで、アスタリスクも%2Aとしてエンコードします。この文字は既定では変更されずに残りますが、一部のAPIや署名方式では拒否されるためです。デコードは同じ表を逆にたどります。再帰デコードオプションはデコードを最大16回連続で繰り返し、複数回エンコードされていて1回のデコードでは%25などの残ったパーセント記号がまだ残るリンクに役立ちます。行ごとにエンコードオプションは、入力を改行で分割し、各行を個別に処理してから、LF、CRLF、CR、半角スペース、カンマ、セミコロンの中から選んだ区切り文字で結果を結合し直すので、値のリストが1つの塊にならず1行ごとに1エントリのまま保たれます。独立した入れ替えボタンは、モードを切り替えると同時に入力と出力のテキストを入れ替え、結果はクリップボードにコピーするか、プレーンテキストファイルとしてダウンロードできます。入力欄はテキストファイルのアップロードやクリップボードからの貼り付けでも埋めることができ、これによって変換そのものの動作が変わることはありません。出力は入力やオプションが変わるたびに即座に更新され、別の操作は不要です。このやり取りでテキストがサーバーに送られることはありません。
具体例
検索クエリの値として入力したカフェ & 和菓子という文言を例にします。エンコードすると%E3%82%AB%E3%83%95%E3%82%A7%20%26%20%E5%92%8C%E8%8F%93%E5%AD%90になります。半角スペースは%20になり、&記号はパラメータの区切りと誤読されないよう%26になり、カフェと和菓子という単語はUTF-8で1文字が3バイトで保存されるため、それぞれ複数の%XXバイトに分かれます。同じエンコード済み文字列をデコードモードに貼り付けると、半角スペース、&記号、日本語部分も含めてカフェ & 和菓子が正確に戻ります。
出力例
入力 (エンコード): カフェ & 和菓子
出力: %E3%82%AB%E3%83%95%E3%82%A7%20%26%20%E5%92%8C%E8%8F%93%E5%AD%90
入力 (デコード): %E3%82%AB%E3%83%95%E3%82%A7%20%26%20%E5%92%8C%E8%8F%93%E5%AD%90
出力: カフェ & 和菓子