const set1 = ";,/?:@&=+$"; // 예약된 문자 (Reserved Characters)
const set2 = "-_.!~*'()"; // 예약되지 않은 문자 (Unescaped Characters)
const set3 = "#"; // Number Sign
const set4 = "ABC abc 123"; // 알파벳과 숫자 문자 + 공백

console.log(encodeURI(set1)); // ;,/?:@&=+$
console.log(encodeURI(set2)); // -_.!~*'()
console.log(encodeURI(set3)); // #
console.log(encodeURI(set4)); // ABC%20abc%20123 (공백이 %20으로 인코딩됨)

console.log(encodeURIComponent(set1)); // %3B%2C%2F%3F%3A%40%26%3D%2B%24
console.log(encodeURIComponent(set2)); // -_.!~*'()
console.log(encodeURIComponent(set3)); // %23
console.log(encodeURIComponent(set4)); // ABC%20abc%20123 (공백이 %20으로 인코딩됨)
자바스크립트 URL 인코딩 함수 브라우저 호환성
함수
데스크탑 Chrome
Chrome
데스크탑데스크탑 Edge
Edge
데스크탑 Firefox
Firefox
Safari
Safari
encodeURI() 1 12 1 1.1
encodeURIComponent() 1 12 1 1.1

caniuse.com에서 더 자세한 정보를 확인해 보세요.