【Node.js24.x】Object::decodeURIComponent()メソッドの使い方
decodeURIComponentメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
decodeURIComponentメソッドは、URI (Uniform Resource Identifier) のエンコードされたコンポーネントをデコードするメソッドです。ウェブアドレスなどに使用されるURIでは、スペースや日本語の文字、一部の特殊記号といった特定の文字を直接含めることができません。これらの文字は、URIの形式規則に準拠させるため、「パーセントエンコーディング」と呼ばれる%XXのような特殊な形式に変換されてURIに埋め込まれます。
このメソッドは、ウェブフォームの入力値やURLのクエリパラメータなど、URIの特定のセクションに埋め込まれたパーセントエンコードされた文字列を、プログラムで扱える元の文字や数値に戻す際に非常に役立ちます。例えば、%20をスペースに、%E3%83%86%E3%82%B9%E3%83%88のようなUTF-8エンコードされた日本語のシーケンスを「テスト」という文字に変換します。
decodeURIComponentは、URI全体をデコードするdecodeURIメソッドとは異なり、スラッシュ(/)や疑問符(?)、アンパサンド(&)などのURIの構造を定義する予約文字はデコードせずにそのまま保持します。これにより、デコード後もURIのパスやクエリパラメータの区切りが維持され、URIの構造が正しく保たれます。そのため、URIの個々の部分を安全に処理するのに適しています。
もし入力された文字列に、%G9のような不正なパーセントエンコーディングのシーケンスや、不完全なUTF-8バイトシーケンスが含まれている場合、URIErrorというエラーが発生し、処理が中断されることがあります。このメソッドは、ウェブアプリケーションでユーザーからの入力や外部システムからのURI情報を正確に解析するために不可欠な機能を提供します。
構文(syntax)
1const encodedString = "Hello%2C%20World%21%20%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94"; 2const decodedString = decodeURIComponent(encodedString); 3// console.log(decodedString); // 出力: Hello, World! にほんご
引数(parameters)
encodedURI
- encodedURI: string: デコードするURIコンポーネントを指定する文字列
戻り値(return)
string
URIコンポーネントとしてエンコードされた文字列をデコードした結果の文字列を返します。