-
솔루션 개발 중 외부 서비스에서 사용하는 API를 만들던 중,
데이터 송/수신 과정에서 '인코딩'에 대한 이해도가 낮았던 것에 공부할 겸 3가지 인코딩에 대해서 간단히 정리하였습니다.
-
URL Encode, URL Decode
URL에 문자를 표현하는 인코딩 방식으로, 퍼센트 인코딩이라고도 부릅니다.
이때, 데이터는 ASCII 문자열을 이용해서만 전송될 수 있는데
ASCII 문자가 아닌 것들(공백, 특수문자, 한글 등..)은 인코딩이 필요합니다.
아래의 표에서 데이터를 URL 인코딩/디코딩 처리한 것을 참고하세요.
샘플 URL URL Encode 전 http://www.naver.com/search?name=홍길동 URL Encode 후 http%3a%2f%2fwww.naver.com%2fsearch%3fname%3d%ed%99%8d%ea%b8%b8%eb%8f%99 URL Decode 후 http://www.naver.com/search?name=홍길동 ※ 참고: https://www.convertstring.com/ko/EncodeDecode/UrlEncode
-
Base64 Encode, Base64 Decode
Base64 인코딩이란 Binary Data를 Text로 바꾸는 Encoding의 하나로써,
Binary Data를 ASCII 영역의 문자로만 이루어진 문자열로 바꾸는 인코딩 방법입니다.
(이전의 URL encode가 특수문자가 포함된 문자열로 바꾸는 인코딩 방법인 것과는 명확한 차이가 있습니다.)
아래의 표에서 데이터를 Base64 인코딩/디코딩 처리한 것을 참고하세요.
샘플 데이터 Base64 Encode 전 {"name":"홍길동", "level": 3, "age": 27} Base64 Encode 후 eyJuYW1lIjoi7ZmN6ri464+ZIiwgImxldmVsIjogMywgImFnZSI6IDI3fQ== Base64 Decode 후 {"name":"홍길동", "level": 3, "age": 27} ※ 참고: https://www.convertstring.com/ko/EncodeDecode/Base64Decode
-
Json Encode, Json Decode
Json Encode는 Json parse라고 생각하면 되고, 문자열을 자바스크립트의 데이터로 변환해주는 것이며,
Json Decode는 Json stringify라고 생각하면 됩니다. 자바스크립트의 데이터를 문자열로 변환해줍니다.
※ 참고: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse
★ 참고한 사이트
1) https://twpower.github.io/113-uri-encode-decode-in-javascript
2) https://effectivesquid.tistory.com/entry/Base64-%EC%9D%B8%EC%BD%94%EB%94%A9%EC%9D%B4%EB%9E%80
-