Encoding & Decoding

일어나 개발해야지·2024년 4월 26일

iOS 글쓰기모임

목록 보기
8/12

Intro

로그인 회원가입 로직을 구현하면서 Decoding을 다루게됬다.
데이터의 형식를 변환하는 과정이라고 알고 있는데
깊이있게 이해하고 싶어서 좀 더 찾아보았다.

개념

인코딩(Encoding):

  • 정보를 다른 형식으로 변환하는 과정
  • 텍스트를 암호화한다고도 이야기함
  • 컴퓨터가 이해할 수 있는 숫자나 비트 패턴으로 매핑

디코딩(Decoding):

  • 인코딩된 데이터를 복호화하는 과정
  • 비트 패턴에서 사람이 이해할 수 있는 형식으로 매핑

종류

Base64 :텍스트 ↔︎ 이진 데이터

원본 텍스트: "Hello, world!"

Encoding: "SGVsbG8sIHdvcmxkIQ=="
Decoding: "Hello, world!"

URL : 문자 ↔︎ 16진수

URL에서 사용할 수 없는 문자 전송시 사용

원본 문자: "Hello, world!"

Encoding: "Hello%2C%20world%21"
Decoding: "Hello, world!"

UTF-8 : 유니코드 ↔︎ 이진 데이터

원본 문자: "Hello, world!"

Encoding: "\x48\x65\x6c\x6c\x6f\x2c\x20\x77\x6f\x72\x6c\x64\x21"
Decoding: "Hello, world!"

JSON : 데이터 ↔︎ 문자열

원본 데이터: {"name": "John", "age": 30}

Encoding: "{\"name\": \"John\", \"age\": 30}"
Decoding: {"name": "John", "age": 30}

정리

회원정보를 다루는 로직에서는 가입시 사용자의 정보를 받아 인코딩하고
로그인시 저장된 정보를 다시 디코딩해서 활용하는 정도로 해당 개념을 다루어봤는데, 종류를 나열하고 보니 다양한 형태로 데이터가 저장되고 전송된다는걸 확인할 수 있었다 .

2개의 댓글

comment-user-thumbnail
2024년 5월 3일

Base64는 온갖 데이터를 문자열로 전달할 수 있다는 게 장점이고 용량이 많이 증가한다는 게 단점이죠
이유가 궁금하시면 한번 찾아보는 것도 좋을 것 같습니다

1개의 답글