[기타]

텍스트 데이터와 바이너리 데이터

뽕규의 스케치북 2025. 2. 12. 14:14
728x90

텍스트 데이터와 바이너리 데이터

텍스트 데이터

컴퓨터는 내부적으로 이진 숫자로 수행한다

이진 숫자란 ‘0’과 ‘1’로만 이루어진 것을 말한다

하지만 우리는 1010100010101010 처럼 이루어진 이진 숫자를 읽을 수 없기 때문에

인코딩이라는 방법을 통해 우리가 아는 영어, 한국어 등으로 이진 숫자를 변환해서 알아볼 수 있다

아래는 기본적인 ASCII 인코딩 방식의 표이다

이처럼 우리가 쉽게 읽을 수 있게 바뀐 데이터를 텍스트 데이터라고 부른다

바이너리 데이터

“100”을 텍스트 데이터로 변환해보자

00110001 00110000 00110000

각각 “1”,”0”,”0”을 의미한다

하지만 그냥 100을 저장한다면 어떻까

01100100

용량이 1/3이나 줄었다

이를 ASCII 표를 통해 인코딩하면 d라는 알파벳이 나오는데 이게 100이랑 연관이 있느냐를 살펴보면 1도 연관이 없다

그래서 바이너리 데이터를 텍스트 데이터로 변환하면 알 수 없는 외계어가 나오는 것이다

바이너리 데이터는 사진, 영상 등 텍스트 데이터로 표현하기 부적절한 데이터들을 저장하는 도구로 사용된다

텍스트와 바이너리의 차이점

비교항목 텍스트 데이터 바이너리 데이터

구분 방법 텍스트 에디터로 열면 읽을수 있다 텍스트 에디터로 열면 읽을 수 없다
장점 사람이 쉽게 읽을 수 있다  
텍스트 에디터로 쉽게 편집이 가능하다 용량이 적다  
단점 용량이 크다 사람이 쉽게 읽을 수 없다
일반적인 텍스트 에디터로 편집이 불가능하다    

인코딩과 디코딩

텍스트든 바이너리든 어쨌든 컴퓨터에 저장은 이진수로 되기 때문에 우리한테 어떠한 형태로든 보여지려면 해석을 해야한다

이를 인코딩(encoding)이라 부른다

인코딩에는 수많은 방법이 존재한다

텍스트의 경우 ASCII, UTF-8, UTF-16 / 바이너리의 경우 gif, jpg, png 등 여러 방식이 존재한다

인코딩으로 A를 B로 바꾸는 걸 인코딩, 인코딩된 데이터를 원복시키는걸 디코딩이라 한다

728x90