ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Unicode, UTF-8
    Note 2021. 2. 18. 18:24

    Unicode

    옛날 컴퓨터가 세상에 나왔을 때는 ‘영어’와 몇 가지 ‘특수문자’만 사용했고 이를 저장하기 위해서 1 byte면 충분했다. (0~255) 시간이 흘러 다른 국가 사람들이 컴퓨터를 이용하다 보니 자국어도 컴퓨터로 표시하고 싶어 졌다. 그래서 1 byte 안에 임의대로 알파벳 대신 자기 나라 글자를 할당해서 그럭저럭 쓸 수는 있었다. 그러나 네트워크가 발전하고 다른 사람 홈페이지를 들어갔더니 글자가 와장창 깨지고 만다.

     

    그리하여 국제적으로 전 세계 언어를 모두 표시할 수 있는 표준코드를 만들기로 했다. 바로 유니코드(Unicode)다.

     

    유니코드는 글자와 코드가 1:1 매핑되어 있는 '코드표'

     

    UTF-8

    유니코드를 통해 코드표가 정의되었다. 남은 것 그 ‘코드'가 컴퓨터에 어떻게 저장되어야 하는 것이다. 다른 말로 인코딩(encoding)이라고 하는데, 컴퓨터가 이해할 수 있는 형태로 바꿔주는 것이다.

     

    UTF-8은 유니코드를 인코딩(encoding)하는 방식

     

    UTF-8은 가변 인코딩 방식이다. 쉬운 말로 하면 글자마다 byte 길이가 다르다는 것이다. ‘a’는 1 byte이고 ‘가'는 3 byte이다. 가변을 구분하기 위해 첫 바이트에 표식을 넣었는데 2 byte는 110으로 시작하고 3바이트는 1110으로 시작한다. 나머지 바이트는 10으로 시작한다.

     

     

     

    출처: Unicode와 UTF-8 간단히 이해하기 / Jeong Dowon

     

    'Note' 카테고리의 다른 글

    Typescript  (0) 2021.02.26
    비대칭키 암호화  (0) 2021.02.22
    호출 스케줄링  (0) 2021.02.15
    Redux  (0) 2021.02.08
    Restful api  (0) 2021.01.28

    댓글