인코딩은 정보의 형태가 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 처리 혹은 그 처리 방식을 말한다.
즉, 컴퓨터가 이해할 수 있는 형식으로 바꾸어 주는 것이다.
- 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 |