본문 바로가기

Web/JavaScript

[Javascript] Javascript 인코딩

인코딩은 정보의 형태가 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 처리 혹은 그 처리 방식을 말한다.

즉, 컴퓨터가 이해할 수 있는 형식으로 바꾸어 주는 것이다.

 

- Javascript 인코딩 함수

escape(),unescape() 함수는 자바스크립트 1.5버전부터 더는 지원하지 않으므로, encodeURI(),decodeURI()  함수나
encodeURIComponent(), decodeURIComponent() 함수를 대신 사용해야 합니다.

 

1. escaepe(), unescape()

전달받은 문자열에서 특정 문자들을 16진법 이스케이프 시퀀스 문자로 변환한다.

 

escape('https://freewebdev.tistory.com/게시판/목록/?searchParam=인코딩')
-> https%3A//freewebdev.tistory.com/%uAC8C%uC2DC%uD310/%uBAA9%uB85D/%3FsearchParam%3D%uC778%uCF54%uB529

unescape("https%3A//freewebdev.tistory.com/%uAC8C%uC2DC%uD310/%uBAA9%uB85D/%3FsearchParam%3D%uC778%uCF54%uB529")
-> https://freewebdev.tistory.com/게시판/목록/?searchParam=인코딩

 

2. encodeURI(), decodeURI()

URI에서 주소를 표시하는 특수문자를 제외하고, 모든문자를 이스케이프 시퀀스( escape sequences ) 처리하여 부호화한다.

encodeURI('https://freewebdev.tistory.com/게시판/목록/?searchParam=인코딩');
-> https://freewebdev.tistory.com/%EA%B2%8C%EC%8B%9C%ED%8C%90/%EB%AA%A9%EB%A1%9D/?searchParam=%EC%9D%B8%EC%BD%94%EB%94%A9

decodeURI('https://freewebdev.tistory.com/%EA%B2%8C%EC%8B%9C%ED%8C%90/%EB%AA%A9%EB%A1%9D/?searchParam=%EC%9D%B8%EC%BD%94%EB%94%A9')
-> https://freewebdev.tistory.com/게시판/목록/?searchParam=인코딩

 

3. encodeURIComponent(), decodeURIComponent()

encodeURI()함수에서 부호화하지 않은 모든 문자까지 포함하여 이스케이프 시퀀스 처리한다.

encodeURIComponent('https://freewebdev.tistory.com/게시판/목록/?searchParam=인코딩');
-> "https%3A%2F%2Ffreewebdev.tistory.com%2F%EA%B2%8C%EC%8B%9C%ED%8C%90%2F%EB%AA%A9%EB%A1%9D%2F%3FsearchParam%3D%EC%9D%B8%EC%BD%94%EB%94%A9"

decodeURIComponent("https%3A%2F%2Ffreewebdev.tistory.com%2F%EA%B2%8C%EC%8B%9C%ED%8C%90%2F%EB%AA%A9%EB%A1%9D%2F%3FsearchParam%3D%EC%9D%B8%EC%BD%94%EB%94%A9")
-> https://freewebdev.tistory.com/게시판/목록/?searchParam=인코딩

 

- ASCⅡ 인코딩

  • ASCⅡ( American Standard Code for Information Interchange ) : 미국 정보교환 표준코드
  • 영문자를 컴퓨터가 해설할 수 있는 숫자로 변환시켜 준다.
  • 1 Byte( 8 Bit ) 중 7 Bit를 사용하여 0 ~ 127까지 총 128개의 문자를 구성한 코드이다.
  • 128개의 문자는 영어 알파벳 대문자, 소문자, 보조문자, 제어문자로 구성되어 있다.

- URL 인코딩

  • ASCⅡ코드에 없는 영어를 제외한 외국어( 한국어 포함 )와 ASCⅡ에서 표현하지 않는 특수문자를 표현하기 위해 사용된다.
  • 형식
    • 기존 문자열의 HEX값 앞에 '%' 사용( ASCⅡ Table의 출력가능 문자 )
  • 한글
    • UTF-8 사용
  • Force Full URL Encoding 
    • 모든 문자열을 강제로 인코딩
  • URL은 ASCⅡ문자 집합을 사용하여 인터넷을 통해서만 전송할 수 있다.
  • 중요 URL 메타문자

 

 

출처

https://ghdwn0217.tistory.com/76

 

인코딩(Encoding)이란 ? : ASCII, URL, HTML, Base64, MS Script 인코딩

webhacking.kr 회원가입 문제를 해결하면서 Base 64 디코딩을 활용했다. 네트워크 전공 시간에 다양한 디코딩 방법을 이용해 문제를 해결했던 기억을 되살려 인코딩이 무엇이며 어떠한 종류가 있는

ghdwn0217.tistory.com

 

'Web > JavaScript' 카테고리의 다른 글

[Javascript] DOM 요소  (0) 2021.07.19
[Javascript] Document 객체  (0) 2021.07.19
[Javascript] DOM 개념  (0) 2021.07.19
[Javascript] 함수 호이스팅( hoisting )  (0) 2021.07.19
[Javascript] JSON 기초  (0) 2020.12.11