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으로 인코딩됨)

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