encoding

nichol·2022년 7월 1일
0

CS

목록 보기
6/6

encoding

유니코드

  • 아스키코드(ASCII) 이후에 나온 코드
    • 아스키코드란?
      • 1byte(8bit)로 1:1매칭한 문자
      • 로마자만 표현가능
      • CharacterSet 이라고 한다.
      • 로마자 이외의 글자는 표현못한다.
  • 유니코드
    • 통신이 발달하고 국가간의 네트워크가 연결되면서 아스키코드로 영어권이외의 국가에서 언어를 표현하지못해 국제표준 코드 등장, 이 국제 표준 코드가 유니코드이다.
    • 모든문자가 통합되어 1byte부터 4byte까지 가변적으로 움직이면서 문자들을 표현한다.
    • 강점 : 아스키방식과 완벽하게 호환
    • 1세대 유니코드 : 2byte(16bit, 2^16 = 65,536개)로 시작, 하지만 토속어, 고어 표현까지 하려하니 모자름
    • 2세대 유니코드 : 1~3byte(24bit, 2^24 = 16,777,216개)
    • 2세대 유니코드의 문제점
      • 영어는 1byte 한글은 2byte 특수문자는 3byte로 표현되다보니 가변문제가 생기는 문제
      • 해결책 : 다양한 인코딩 방식이 나옴
    • 구조 :
      • 0xxxxxxx : 첫 번째 byte가 0으로 시작한다면 0이외의 7 bit를 아스키로 인식한다.
      • 110xxxxx 10xxxxxx 두번째 byte까지 읽어서 하나의 문자로 표현
      • 1110xxxx 10xxxxxx 10xxxxxx 세번째 byte까지 읽어서 하나의 문자로 표현
      • 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 네번째 byte까지 읽어서 하나의 문자로 표현
    • 유니코드의 인코딩 종류 :
      1. 코드 포인트의 코드화 형식 : UCS-2, UCS-4
      2. 변환 인코딩 형식: UTF-7, UTF-8, UTF-16, UTF-32

UTF-8(8-bit Unicode Transformation Format)

  • UTF-8은 문자열 집합과 인코딩 형태를 1byte(8bit) 단위로 한다는 의미
  • 최근에 표준으로 가장 많이 사용되고 있는 인코딩 방식

UTF-32

  • UTF-32는 기본적으로 4byte(32bit)를 고정적으로 사용
  • 반드시 써야될곳이 아니라면 사용하지 않는다.

KSC5601

  • 한글 완성형 표준(한글 2,350자 표현)
  • 한글전용이며 1:1 매칭으로 표현
  • 한국공업표준 정보처리분야(C)의 5601번 표준안
  • 전각문자/기호/자소/선문자 0xA180 ~ 0xAFFF
  • 한글영역 0xB0A1 ~ 0xC9FF
  • 한자영역 0xCA80 ~ 0xFDFF

MBCS(Multi-Byte Character Set)

  • 유니코드를 제외한 문자 인코딩에서 두 개 이상의 바이트를 사용해서 문자를 표시하는 방식.
  • 한국어, 일본어 및 중국어와 같이 싱글바이트로 표현할 수 없는 문자 집합을 지원하기 위한 이전의 접근 방식
profile
WEB Developer

0개의 댓글