// 与えられた文字列を変数に代入します。
const set1 = ";,/?:@&=+$"; // ご注意ください!エンコード方式によって結果が異なります。
const set2 = "-_.!~*'()";
const set3 = "#"; // ご注意ください!エンコード方式によって結果が異なります。
const set4 = "ABC abc 123";

// 与えられた文字列をencodeURI()関数とencodeURIComponent()関数でエンコードします。
const encodedSet1 = encodeURI(set1);
const encodedSet2 = encodeURI(set2);
const encodedSet3 = encodeURI(set3);
const encodedSet4 = encodeURI(set4);

const encodedURIComponentSet1 = encodeURIComponent(set1);
const encodedURIComponentSet2 = encodeURIComponent(set2);
const encodedURIComponentSet3 = encodeURIComponent(set3);
const encodedURIComponentSet4 = encodeURIComponent(set4);

console.log("encodeURI()関数でエンコード:");
console.log(encodedSet1); // ;,/?:@&=+$
console.log(encodedSet2); // -_.!~*'()
console.log(encodedSet3); // #

console.log("encodeURIComponent()関数でエンコード:");
console.log(encodedURIComponentSet1); // %3B%2C%2F%3F%3A%40%26%3D%2B%24
console.log(encodedURIComponentSet2); // -_.!~*'()
console.log(encodedURIComponentSet3); // %23

console.log("encodeURI()関数でエンコードしたものをdecodeURI()関数でデコード:");
console.log(decodeURI(encodedSet1)); // ;,/?:@&=+$
console.log(decodeURI(encodedSet2)); // -_.!~*'()
console.log(decodeURI(encodedSet3)); // #

console.log("encodeURIComponent()関数でエンコードしたものをdecodeURI()関数でデコード:");
console.log(decodeURI(encodedURIComponentSet1)); // %3B%2C%2F%3F%3A%40%26%3D%2B%24
console.log(decodeURI(encodedURIComponentSet2)); // -_.!~*'()
console.log(decodeURI(encodedURIComponentSet3)); // %23

console.log("encodeURIComponent()関数でエンコードしたものをdecodeURIComponent()関数でデコード:");
console.log(decodeURIComponent(encodedURIComponentSet1)); // ;,/?:@&=+$
console.log(decodeURIComponent(encodedURIComponentSet2)); // -_.!~*'()
console.log(decodeURIComponent(encodedURIComponentSet3)); // #