Dreamhack-컴퓨터 과학 기초 3

근따리·2024년 12월 27일

드림핵

목록 보기
5/6

인코딩, 디코딩

인코딩, 디코딩

  • 인코딩(Encoding)은 데이터를 특정한 형식으로 변환하는 것
  • 데이터의 크기를 줄이거나, 컴퓨터가 이해하기 쉽게 변환할 때 사용
  • 인코딩된 데이터는 디코딩(Decoding)하여 원래의 값을 구할 수 있음
  • 암호화는 비밀키가 있어야 복호화가 되지만, 인코딩은 누구나 표준화된 방식을 통해 디코딩이 가능

아스키 코드

  • 아스키 코드(American Standard Code for Information Interchange, ASCII)는 정보 교환을 위한 미국 표준 코드로, 문자를 숫자로 변환하는 문자 인코딩(character encoding)의 표준
  • 서로 다른 장치 간 데이터 전송을 더 쉽게 수행할 수 있음
  • 아스키 문자 1개는 1바이트 크기로, 7비트로 문자를 표현하고 1비트는 오류 체크를 위해 사용
  • 2^7=128가지의 문자 표현이 가능하며, 각 문자는 0~127까지의 10진수 값을 가짐 (A=65, a=97)

유니코드

  • 아스키 코드는 미국에서 만든 표준 코드인 만큼 알파벳 대소문자, 숫자, 특수문자, 제어 문자만을 포함
  • 초반에는 이러한 코드도 문제가 없었으나, 점점 다양한 언어와 문자가 나타나면서 새로운 형식이 필요해져 유니코드가 등장
  • 전세계 모든 언어의 문자에 고유한 번호를 부여하는 국제 표준 코드
  • 서로 다른 언어를 사용할 때 문자가 호환되지 않는 문제를 해결하기 위해 만들어짐
  • 아스키 코드보다 용량을 크게 확장하여 최대 32비트로 문자 1개를 표현, 현재 143000개 이상의 문자를 표현할 수 있음
  • 유니코드의 처음 128개 문자는 아스키 코드의 문자와 정확히 일치
  • 유니코드의 형식은 U+ 뒤에 16진수를 붙힘(UTF-8, UTF-16,UTF-32)

URL 인코딩(퍼센트 인코딩)

  • 웹에서 사용되는 URL은 특정한 형식의 문자열만 허용
  • 알파벳 대소문자, 숫자 그리고 일부 특수 문자만을 포함
  • 일부 특수문자의 경우 ( : / ? # [ ] @ ! $ & ' ( ) * + , ; = %공백)
  • ex. Welcome, Dreamhack Beginners! :) => Welcome%2C%20Dreamhack%20Beginners%21%20%3A%29

Base64 인코딩

  • 이진 데이터를 아스키 문자로 구성된 텍스트로 변경하는 인코딩 방식
  • 총 64개의 아스키 문자가 인코딩에 사용
  • 알파벳 대소문자(52자), 숫자(10자), +, / 로 구성
profile
보안/클라우드를 공부하는 일기장

0개의 댓글