Node.js에서 URL 인코딩

Shraddha Paghdar 2023년10월12일
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 요소 또는 인코딩/디코딩해야 하는 기타 문자에 대한 데이터 입력 중에 실수로 생성된 인코딩 및 기호가 제거됩니다.

encodeURIencodeURIComponent의 유일한 차이점은 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 Paghdar avatar Shraddha Paghdar avatar

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

관련 문장 - Node.js Encode