[javascript] 문자열 인코딩하기

JavaScript에서 문자열을 인코딩하는 방법을 알아보겠습니다.

URL 인코딩

URL 인코딩은 주소에 사용되는 특수 문자를 인코딩하는 것을 의미합니다. encodeURIComponent() 함수를 사용하여 URL을 인코딩할 수 있습니다.

const url = "https://www.example.com/?search=query string";
const encodedUrl = encodeURIComponent(url);
console.log(encodedUrl);
// 출력: "https%3A%2F%2Fwww.example.com%2F%3Fsearch%3Dquery%20string"

Base64 인코딩

Base64 인코딩은 바이너리 데이터를 텍스트로 변환하는 인코딩 방식입니다. JavaScript에서는 btoa() 함수를 사용하여 문자열을 Base64로 인코딩할 수 있습니다.

const str = "Hello World!";
const encodedStr = btoa(str);
console.log(encodedStr);
// 출력: "SGVsbG8gV29ybGQh"

HTML 엔티티 인코딩

HTML 엔티티 인코딩은 HTML에서 특수 문자를 대체하기 위해 사용되는 인코딩입니다. JavaScript에서는 innerHTML 프로퍼티를 사용하여 HTML 엔티티로 인코딩된 문자열을 생성할 수 있습니다.

const htmlString = "<script>alert('Hello World!');</script>";
const encodedHtmlString = document.createElement('div').appendChild(document.createTextNode(htmlString)).parentNode.innerHTML;
console.log(encodedHtmlString);
// 출력: "&lt;script&gt;alert('Hello World!');&lt;/script&gt;"

위에서 설명한 세 가지 방법을 사용하여 문자열을 인코딩할 수 있습니다. 각각의 인코딩 방식은 다양한 상황에서 유용하게 사용될 수 있으므로, 필요에 따라 적절하게 활용하시기 바랍니다.

참고 자료