Node.js で URL をエンコードする
この記事では、Node.js で URL エンコーディングを行う方法について学習します。
Node.js での URI エンコーディング
JavaScript は、encodeURIComponent()
と呼ばれる統合 URI エンコーディング機能を提供します。 この選択は、個々の UTF-8
エンコーディングを表す 1つ、2つ、3つ、または 4つものブレークアウト シーケンスを使用して、途方もない文字のすべての例を変更することにより、URI をエンコードします。
この関数は、Node.js を含む任意のクライアント側またはサーバー側のアプリケーションで使用できます。
構文:
encodeURIComponent(uriComponent)
uriComponent
は必須パラメーターで、数値、文字列、ブール値、未定義、null、または任意のオブジェクトを指定できます。
エンコードする前に、uriComponent
は文字列に変換されて受け取ります。 新しい文字列は、URI 要素としてエンコードされた、提供された uriComponent
を表す出力として返されます。
クエリ文字列パラメーターを介してサーバーに送信されたフォームから、ユーザーが入力したフィールドで encodeURIComponent()
を使用します。 これにより、個々の HTML
要素やエンコード/デコードが必要なその他の文字のデータ入力中に誤って生成されたエンコーディングと記号が排除されます。
encodeURI
と encodeURIComponent
の唯一の違いは、encodeURIComponent
が完全な文字列をエンコードするのに対し、encodeURI
はプロトコル プレフィックス ("http://"
) とドメイン名を無視することです。
コード例:
console.log(encodeURIComponent(
'select * from Users where email = "example@domain.com"'));
console.log(encodeURIComponent('http://exampleDomain.com/?param1=hello world'));
console.log(
encodeURI('select * from Users where email = "example@domain.com"'));
console.log(encodeURI('http://exampleDomain.com/?param1=hello world'));
上記の例では、MySQL データベース クエリと URL クエリは encodeURIComponent()
および encodeURI()
関数を使用してエンコードされています。 encodeURIComponent()
と encodeURI()
の主な違いは、HTTP ドメインがクエリ パラメータの前後でのみエンコードされ、=
と @
文字が encodeURI() でエンコードされないことです。
.
Node.js をサポートする任意のコンパイラで上記のコードを実行してみてください。 下の結果が表示されます。
出力:
select%20*%20from%20Users%20where%20email%20%3D%20%22example%40domain.com%22
http%3A%2F%2FexampleDomain.com%2F%3Fparam1%3Dhello%20world
select%20*%20from%20Users%20where%20email%20=%20%22example@domain.com%22
http://exampleDomain.com/?param1=hello%20world
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn