URLエンコード/デコード
URLやクエリパラメータ用にパーセントエンコード、またはエンコード済みURLをデコードします。単一値向けのencodeURIComponentとリンク全体向けのencod
テキストをパーセントエンコードしてURL内を安全に通せるようにしたり、ログやメールからコピーしたリンクをデコードしたりできます。空白、アンパサンド、疑問符、非ラテン文字などの値は、クエリ文字列に入れる前にエスケープが必要です。このツールはエンコード後の形をそのまま確認できます。
重要なのは2つのモードの違いです。単一の値(検索語、メールアドレス、トークンなど)をエンコードすると予約文字がすべてエスケープされ、リンク全体をエンコードするとスラッシュや疑問符、アンパサンドといった構造上の文字はそのまま残ります。誤ったモードを選ぶとリダイレクトが壊れる典型的な原因になるため、モードは切り替えられます。
URLをエンコード・デコードする方法
テキストまたはURLを貼り付けます
値モードかリンク全体モードを選びます
エンコードまたはデコードされた結果をコピーします
よくある質問
2つのモードの違いは何ですか?
値モードは「&」「=」、疑問符、「/」、「#」などの予約文字をエスケープします。クエリパラメータの値の中ではこちらが必要です。リンク全体モードはこれらの文字をそのまま残すため、URL全体が使える状態を保てます。
空白が%20や+になるのはなぜですか?
%20が標準のパーセントエンコードです。プラス記号はHTMLのフォーム送信に由来する古い慣習で、クエリ文字列の中でのみ同じ意味を持ち、パスの中では等価ではありません。
エンコードだけでなくデコードもできますか?
はい。デコードは両方向で機能し、アクセント付きの文字やCJKのテキストも含めて元の文字を表示します。
文字列のデコードが失敗するのはなぜですか?
2桁の16進数が続いていない孤立した%は不正で、デコードできません。値が途中で切れていないか、文字としてのパーセント記号を書きたかったのではないかを確認してください。
非ラテン文字にも対応していますか?
はい。テキストはまずUTF-8として符号化され、そのあとにパーセントエンコードされます。これはブラウザとサーバーが期待する形式です。
入力はアップロードされますか?
いいえ。エンコードとデコードはブラウザ内の純粋なテキスト処理です。
概要
| 入力 | テキスト |
|---|---|
| 複数ファイル | いいえ |
| 実行場所 | ブラウザ内で実行 - ファイルはアップロードされません |
| オフラインでも動作 | はい — ページを読み込んだ後 |
| 料金 | 無料・登録不要・透かしなし |
データ形式の選び方
JSONは、APIが返すものやプログラムが読み取るものの既定の選択です。入れ子構造、数値、真偽値、nullを自然に扱え、どの言語でもパースできます。CSVはより小さく、表計算ソフトでそのまま開けますが、入れ子を表現する方法がなく、区切り文字、引用符、文字コードに関する共通規格もありません。変換がうまくいかないのはまさにこの点です。XMLは冗長ですが、属性、混在コンテンツ、スキーマを扱えるため、文書形式や既存の連携では今も主流です。YAMLは設定ファイルにとって最も読みやすい形式ですが、空白に敏感で、型の自動変換が意外な結果を生みます(「no」がfalseになったり、1.10のようなバージョンが1.1になったりします)。見た目が最もよいものではなく、利用する側のツールが好む形式を選んでください。
変換が静かに壊れるところ
変換のバグの多くは構文ではなく意味の問題です。郵便番号のCSV列は、表計算ソフトが数値だと推測した瞬間に先頭のゼロを失います。長いIDは浮動小数点の精度を超えてしまいます。日付は、日が先か月が先かによって意味が変わります。JSONのキーには順序がありませんが、配列にはあります。キーを並べ替えるツールは何も変えませんが、配列を並べ替えるツールはデータを変えてしまいます。Unicodeも落とし穴です。テキストはUTF-8やUTF-16、あるいはBOM付きで届くことがあり、推測を誤ったデコーダーはアクセント付きの文字を文字化けに変えてしまいます。変換を信用する前に、最初と最後の行、先頭にゼロがあるフィールド、引用符・カンマ・改行を含むフィールドを抜き取り検査してください。