TIL 29일차 - [컴퓨터공학] 문자열과 그래픽

tamagoyakii·2022년 5월 1일
0

TIL

목록 보기
28/31
post-thumbnail

🧤 문자열과 그래픽

🅰️ 문자열

2010년도 이후 유니코드라고 불리는 인코딩 방식이 국제적으로 통일되었다. 유니코드와 인코딩은 무엇일까?

  • 인코딩(encoding)
    어떤 문자나 기호를 컴퓨터가 이용할 수 있는 신호로 부호화시키는 것이다. 반대로 문자를 해독하는 것은 디코딩(decoding)이라고 한다. 우리가 알고있는 ASCII코드는 영문 알파벳을 사용하는 대표적인 문자 인코딩으로, 7비트로 모든 알파벳을 표현한다. 유니코드는 ASCII를 확장한 형태이다.

  • 유니코드(Unicode)
    인코딩과 디코딩을 하기 위해서는 미리 정해놓은 기준이 있어야 한다. 이 기준을 "문자열 세트" 또는 "문자셋(charset)"이라고 부른다. 유니코드는 유니코드 협회(Unicode Consortium)가 제정하는 문자셋의 국제 표준이다. 즉, 전 세계 문자를 컴퓨터에서 일관되게 다룰 수 있도록 설계된 산업 표준이다.

비트(bit)와 바이트(byte)

컴퓨터는 모든 데이터를 2진수로 표현하고 처리한다. 비트(bit)란 컴퓨터가 데이터를 처리하기 위해 사용하는 데이터의 최소 단위로, 1비트에는 2진수 값(0 또는 1)을 단 하나만 저장할 수 있다. 바이트(byte)란 비트가 8개 모여서 구성되며, 한 문자를 표현할 수 있는 최소 단위이다.

UTF-8 vs UTF-16

이 둘은 인코딩 방식의 차이를 의미한다. Universal Coded Character Set Transformation Format -8bit/-16bit 의 약자다.

  • UTF-8
    한 문자를 나타내기 위해 1바이트(8비트) ~ 4바이트까지 사용한다. 네트워크를 통해 전송되는 텍스트는 주로 UTF-8로 인코딩되며, 가장 큰 특징은 바이트 순서가 고정되어 있고, 가변길이를 가진다는 것이다. 예를들어 ASCII코드는 1바이트, 영어 외의 글자는 2~3바이트, 보조글자는 4바이트를 차지한다.

  • UTF-16
    유니코드의 대부분을 16비트(2바이트)로 표현한다. UTF-8과 다른 점은 바이트 순서(엔디안)에 따라 UFT-16의 종류가 달라지며, 길이의 변동 없이 대부분의 문자를 2바이트로 표현한다는 것이다.(대부분에 속하지 않는 문자는 4바이트로 표현하기도 한다.)

    💡 엔디안이란?
    컴퓨터는 데이터를 메모리에 저장할 때 바이트(byte) 단위로 나눠서 저장한다.
    하지만 컴퓨터가 저장하는 데이터는 대게 32비트(4바이트)나 64비트(8바이트)로 구성된다. 때문에 연속되는 바이트를 순서대로 저장해야만 하는데, 바이트 저장 순서(byte order)에 따라 두 가지 방식으로 나눌 수 있다.

    1. 빅 엔디안(big endian)
      낮은 주소에 데이터의 높은 바이트(MSB, Most Significant Bit)부터 저장하는 방식이다. 메모리에 저장된 순서 그대로 읽을 수 있으며, 이해하기가 쉽다는 장점이 있다.

    2. 리틀 엔디안(little endian)
      낮은 주소에 데이터의 낮은 바이트(LSB, Least Significant Bit)부터 저장하는 방식이다. 평소 우리가 숫자를 사용하는 선형방식과는 반대로 읽어야 하며, 대부분의 인텔 CPU 계열에서는 이 방식으로 데이터를 저장한다.

      물리적으로 데이터를 조작하거나 산술 연산을 수행할 때에는 리틀 엔디안 방식이, 데이터의 각 바이트를 배열처럼 취급할 때에는 빅 엔디안 방식이 더 적합하다.

🅱️ 그래픽

이미지는 크게 비트맵 이미지와 벡터 이미지로 나뉜다.

비트맵(레스터)벡터
기반 기술픽셀수학적으로 계산된 shape
특징사진과 같이 색상 조합이 다양한 이미지에 적합로고, 일러스트 등 제폼에 적용되는 이미지에 적합
확대적합하지 않음품질 저하 없이 확대 가능하며, 해상도의 영향 받지 않음
크기에 따른 파일 용량큰 크기의 이미지 = 큰 파일 용량큰 크기의 그래픽도 작은 파일 사이즈 유지 가능
상호 변환복잡한 이미지일수록 오래 걸림쉽게 래스터 이미지로 변환 가능
파일 포맷jpg, png, gif, bmp, psdsvg, ai

🧤 참고자료

http://www.tcpschool.com/c/c_refer_endian

0개의 댓글