JavaScript

The encodeURI function in JavaScript is used to convert URLs into a format that can be safely used on the web.

encodeURI [function]

 JavaScriptの encodeURI関数は、ウェブ上で安全に URL(インターネット上のアドレス)を共有や送信するために使われます。ウェブ上では、特定の文字(例えば、スペースや「&」など)が特別な意味を持つため、これらを URLの一部として使いたい場合は、「エンコード」という処理を施す必要があります。encodeURI関数はこのエンコード処理を行い、URLをウェブ上で安全に使える形式に変換します。

Example

 例えば、"http://example.com/あいう えお?query=はい&answer=いいえ" という URLがあるとします。この URLにはスペースや日本語、クエリパラメータ(「?」以降に続く部分)が含まれており、このままではウェブ上で正しく扱われない可能性があります。encodeURI関数を使ってエンコードすると、この URLはウェブ上で安全に使える形に変換されます。

JavaScript

var url = "http://example.com/あいう えお?query=はい&answer=いいえ";
var encodedUrl = encodeURI(url);
console.log(encodedUrl); // 出力: http://example.com/%E3%81%82%E3%81%84%E3%81%86%20%E3%81%88%E3%81%8A?query=%E3%81%AF%E3%81%84&answer=%E3%81%84%E3%81%84%E3%81%88

 このエンコードされた URLは、特殊文字を含んでいても問題なくウェブブラウザやサーバーによって理解され、正確に指定したウェブページにアクセスできるようになります。

注意点

 ただし、encodeURI関数は URL全体をエンコードするため、URLの一部であるクエリパラメータの「=」や「&」のように、特定の機能を持つ文字はエンコードしません。これらの文字も含めてエンコードしたい場合は、encodeURIComponent関数を使用する必要があります。これは、URLの一部分(例えばクエリパラメータの値)をエンコードする際に利用します。

 encodeURIと encodeURIComponentの違いを理解することは、ウェブ開発においてURLを扱う際に非常に重要です。適切な関数を使うことで、ウェブアプリケーションの安全性と信頼性を高めることができます。