CLOSE SEARCH

Javascript Encoding & Decoding

웹에서는 유니코드 문자를 그대로 사용할 경우 문제가 발생할 수 있으므로 적절히 인코딩해 주어야 합니다. 이러한 인코딩 방식을 퍼센트 인코딩(percent-encoding)이라고 합니다. 자바스크립트에서는 인코딩과 디코딩을 위한 내장함수를 제공합니다.

escape() & unescape()

escape() 함수는 영문, 숫자, 특수문자(@, *, -, _, +, ., /) 외의 모든 문자에 인코딩을 적용합니다. unescape() 함수는 escape()로 인코딩된 문자를 원래 문자로 디코딩합니다.

“http://meetkei.com?type=escape&kor=이스케이프” 라는 URL을 escape 함수로 인코딩하면 다음 그림과 같이 출력됩니다.

javascript_escape_result

encodeURI() & decodeURI()

encodeURI() 함수는 escape()와 유사하지만 URL에서 사용하는 특수문자(:, ;, /, =, ?, &)를 변환하지 않습니다. decodeURI() 함수는 이렇게 인코딩된 문자를 원래 문자로 디코딩합니다.

실행결과는 다음과 같습니다. escape() 실행결과와 달리 http 다음의 : 문자와 .com 다음의 ? 문자가 그대로 출력되는 것을 확인할 수 있습니다.

javascript_encodeuri_result

encodeURIComponent() & decodeURIComponent()

encodeURIComponent() 함수는 영문자와 숫자를 제외한 모든 문자을 인코딩합니다. 이 방식은 UTF-8 인코딩과 동일합니다.

javascript_encodeuricomponent_result

Filed under: Web