Computer Science # Unicode

kdobro_dev·2022년 3월 25일
0

Computer Science

목록 보기
5/6
post-thumbnail

오늘 배운 내용

오늘은 컴퓨터 공학의 기초인 문자열부터 시작해서 캐시까지 전반적으로 내가 접해보지 못한 부분을 공부해 보았다. 컴퓨터 공학을 공부할 때마다 신기한 부분도 많고 어떻게 이런걸 만들었을까라는 존경심도 생기는 것 같다. 어쨌든 내가 공부한 부분을 정리해보려고 한다.

문자열

유니코드

  • 유니코드란, 숫자와 글자, 즉 키와 값이 1:1로 매핑된 형태의 코드 인것이다. 또한 유니코드 협회(Unicode Consortium)가 제정하는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다. 이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자를 다루기 위한 알고리즘 등을 포함하고 있다.

인코딩

  • 인코딩이란 어떤 문자나 기호를 컴퓨터가 이용할 수 있는 신호로 만드는 것이다.
    이 신호를 입력하는 인코딩과 문자를 해독하는 디코딩을 하기 위해서는 미리 정해진 기준을 바탕으로 입력과 해독이 처리되어야 한다.
    이렇게 인코딩과 디코딩의 기준을 문자열 세트 또는 문자셋(charset)이라고 한다. 이 문자셋의 국제 표준이 유니코드이다.

ASCII 코드

  • 영문 알파벳을 사용하는 대표적인 문자 인코딩으로 7 비트로 모든 영어 알파벳을 표현할 수 있다. 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 그리고 하나의 공백 문자를 포함한다.
    유니코드는 ASCII를 확장한 형태이다.

UTF-8과 UTF-16의 차이점

  • UTF-8과 UTF-16은 인코딩 방식의 차이를 의미한다. UTF-8은 Universal Coded Character Set + Transformation Format – 8-bit의 약자로, UTF- 뒤에 등장하는 숫자는 비트(bit)이다.

UTF-8 특징: 바이트 순서가 고정됨

  • UTF-16에 비해 바이트 순서를 따지지 않고, 순서가 정해져 있다.

  • UTF-16 특징: 코드 그대로 바이트로 표현 가능, 바이트 순서가 다양하다.

  • UTF-16은 유니코드 코드 대부분(U+0000부터 U+FFFF; BMP) 을 16 bits로 표현한다.

  • 대부분에 속하지 않는 기타 문자는 32 bit(4 bytes)로 표현하므로 UTF-16도 가변 길이라고 할 수 있으나, 대부분은 2 바이트로 표현한다.
    U+ABCD라는 16진수를 있는 그대로 이진법으로 변환하면 1010-1011-1100-1101 이다. 이 이진법으로 표현된 문자를 16 bits(2 bytes)로 그대로 사용하며, 바이트 순서(엔디언)에 따라 UTF-16의 종류도 달라진다.
    UTF-8에서는 한글은 3 바이트, UTF-16에서는 2 바이트를 차지한다.

profile
do your best at any moment

0개의 댓글