Idealim
article thumbnail
Published 2021. 9. 24. 23:15
[CS] 인코딩 CS/CS 기초

/* 본 게시물은 ' ' 의 내용과 참고자료를 토대로 작성되었습니다. */

/* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */

참고 자료

[비글리] 문자 인코딩이란? : https://vigli.tistory.com/52

[얄팍한 코딩사전] 문자 인코딩, 유니코드, UTF-8이 뭔가요? : https://www.youtube.com/watch?v=1jo6q4dihoU 


1. 인코딩이란?

위키백과에 따르면 '인코딩'이란 정보의 형태나 형식을 변환하는 처리나 처리 방식으로 정의되어있다. 즉, '어떤 정보를 미리 약속한 규칙으로 가공해서 컴퓨터가 이해하게 만든다'라고 보면 된다. 

인코딩은 문자, 동영상, 사진 등 다양한 분야에서 사용되고 있다. 그 중 '문자 인코딩'에 대해 간단히 알아보고자 한다.

 

2. 문자열 셋 / 문자 인코딩 

우리는 종종 텍스트 파일을 열면 한글이 깨지는 현상을 볼 수 있다. 이러한 현상을 이해하기 위해, 컴퓨터가 숫자나 알파벳, 한글 같은 글자들을 볼 수 있는지 알아보자.

기본적으로 컴퓨터는 이진법만 이해할 수 있다. 그렇기 때문에 우리는 'A' 와 같은 문자를 이진법으로 표현해야하는데 먼저 'A'를 숫자 65로 미리 약속했다. 숫자 65는 이진법으로 바꾸면 1000001이 되기 때문에 컴퓨터가 이해할 수 있다. 이처럼 우리는 모든 문자에 각각 숫자를 정해서 매긴 '문자열 셋' 을 미리 정해놓았다. 여기서 '문자 인코딩'이란 1000001 과 같이 binary 를 텍스트('A')로 변환해주는 것을 말한다. 

대표적인 문자열 셋에는 'Ascii' 가 있다. 간단히 'Ascii'에 대해 설명하면 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 'Ascii' 에 한계는 미국에서 만들어졌기 때문에 알파벳과 숫자 등만 들어 있기 때문에 한글 / 한자 / 그 외 문자들을 표현할 수 없다. 그래서 각 나라마다 다양한 '문자열 셋' 들이 나왔다. '문자열 셋' 들의 약속들이 다 제각각이기 때문에 이를 통합해서 나온 것이 바로 'UniCode' 이다. 따라서 UniCode 에는 다양한 나라의 문자들과 이모티콘 등 을 표현할 수 있다.

 

3. 인코딩 방식 (UTF-8)

이제 'UTF-8' 에 알아보자. 이 'UTF-8' 이라는 것은 인코딩 방식을 뜻한다. 인코딩 방식을 예시로 이해해보자. 1000001 을 1byte(1000001)로 처리할 수 도 있고 2byte(00000000 10000001)로 처리할 수도 있을 것이다. 이처럼 문자마다 메모리를 얼마나 할당할지에 따라 인코딩 방식이 달라진다고 이해하면 된다. 인코딩 방식에는 'UTF-8', 'UTF-16', 'UTF-32', 'UCS-2' 등 많이 존재한다. 

반응형
profile

Idealim

@Idealim

읽어주셔서 감사합니다. 잘못된 내용이 있으면 언제든 댓글로 피드백 부탁드립니다.