encodeURI와 encodeURIComponent는 JavaScript에서 URL을 인코딩할 때 사용되는 두 가지 함수입니다. 이 두 함수는 URL의 다른 부분을 인코딩하는 데 사용됩니다.
encodeURI
- 이 함수는 전체 URL을 인코딩합니다.
- 문자열 내의 특정 문자(예:
:,/,?,#,[,],@,!,$,&,',(,),*,+,,,;,=)를 제외한 대부분의 문자는 인코딩되지 않습니다. - 즉, 예약 문자를 제외한 문자열 내의 대부분의 문자를 인코딩하지 않습니다.
- encodeURI는 완전한 URL을 인코딩할 때 사용됩니다.
사용예시
encodeURI("https://example.com/?query=hello world")encodeURIComponent
- 이 함수는 URL의 쿼리 문자열 파라미터 값을 인코딩합니다.
- encodeURI와 달리, 예약 문자를 포함한 모든 문자를 인코딩합니다.
- 예약 문자는 URL에 특별한 의미를 가지고 있어서 데이터로 사용될 때 인코딩되어야 합니다. 예를 들어, 공백이 %20으로 인코딩되고, &는 %26으로 인코딩됩니다.
- encodeURIComponent는 URL의 쿼리 문자열 파라미터 값을 인코딩할 때 사용됩니다.
- 한글 파일을 인코딩할 때는 주로 encodeURIComponent를 사용합니다. 왜냐하면 encodeURIComponent는 URL의 쿼리 문자열 파라미터 값을 인코딩하는데 적합하기 때문입니다. 한글은 URL에 사용될 수 있는 문자가 아니며, 따라서 URL에 포함될 때 인코딩되어야 합니다. encodeURIComponent를 사용하면 한글을 포함한 모든 문자를 올바르게 인코딩할 수 있습니다.
사용예시
const koreanFileName = "한글파일.txt";
const encodedFileName = encodeURIComponent(koreanFileName);
const url = `https://example.com/download?file=${encodedFileName}`;간단히 말해, encodeURI는 URL 전체를 인코딩할 때 사용되고, encodeURIComponent는 URL의 특정 부분(주로 쿼리 문자열 파라미터 값)을 인코딩할 때 사용됩니다.
![[javascript]객체의 키 중에서 숫자 타입의 값을 필터링하고 합산 javascript](https://markettraders.kr/wp-content/uploads/2021/12/javascript-218x150.jpg)













![[광주]위파크 더 센트럴 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/2023000351-218x150.png)
![[강원]힐스테이트 속초 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/20230707051118016175-218x150.jpg)
![[강원]e편한세상 원주 프리모원(1회차) 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/2023000284-218x150.jpg)
![[서울]수유 시그니티 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/apartment-218x150.jpg)
![[경기]광명 센트럴 아이파크 분양주택 분양안내](https://markettraders.kr/wp-content/uploads/2023/08/2023000303-218x150.jpg)
