1. 인코딩 Encoding

정보를 컴퓨터에서 사용할 수 있는 형태(이진 데이터)로 변환하는 과정을 의미한다.

컴퓨터는 데이터를 이진 숫자로 처리하기 때문에, 텍스트 데이터나 영상 데이터, 음성 데이터등을 있는 그대로 이애할 수는 없다.
이에 텍스트, 영상, 음성 데이터를 컴퓨터가 이해할 수 있는 이진 데이터로 변환하는 과정이 필요하며 이것이 바로 인코딩이다.

인코딩시에는 특정 규칙 또는 알고리즘을 사용하여 데이터를 변환하게 되는데, 아래와 같이 예시를 들어본다.

문자열 인코딩

인코딩 방식 설명 full name
ASCII 기본적인 영문 텍스트를 표현하는 데 사용됨. 7비트로 표현된 128개의 문자에 대한 표준 인코딩. American Standarad Code for Information Interchange
UTF-8 가변 길이 인코딩 방식. ASCII 문자는 1바이트, 다른 문자는 2~4바이트로 표현. Unicode Transformation Format - 8-bit
UTF-16 대부분의 문자를 2바이트로 표현하는 고정 길이 인코딩 방식. Unicode Transformation Format - 16-bit
UTF-32 모든 문자를 4바이트로 표현하는 고정 길이 인코딩 방식. Unicode Transformation Format - 32-bit
EUC-KR 한글을 인코딩하는 데 사용되는 방식. 현재는 UTF-8로 전환되고 있다. Extended Unix Code - Korean
BASE64 바이너리 데이터를 텍스트 데이터로 인코딩하는 방법. 텍스트 기반 프로토콜에서 이진 데이터를 안전하게 전송하거나 저장할 때 사용함. 이메일 첨부, 데이터 전송 등에서 주로 사용됨  
URL Encoding URL에서 사용할 수 없는 문자를 URL에서 사용할 수 있는 문자로 변환하는 인코딩.  
CP949 마이크로소프트에서 개발한 문자 인코딩 방식 중 하나. 한국어를 비롯한 동아시아 지역의 문자를 표현하기 위한 인코딩 방식. 현재는 UTF-8로 전환되고 있음 Code Page 949

영상 인코딩

인코딩 방식 설명 full name
H.264 고압축률, 높은 화질, 좋은 성능을 제공하는 비디오 코덱. 대부분의 온라인 비디오 스트리밍 서비스에서 사용됨. 대부분의 모바일 기기에서도 지원됨. Advanced Video Coding, AVC
HEVC H.264보다 더 높은 압축률을 제공하면서도 동일한 화질을 유지할 수 있는 비디오 코덱. UHD, 4K 비디오에서 효과적으로 사용됨. High Efficiency Video Coding, H.265
VP9 Google에서 개발한 고성능 오픈 소스 비디오 코덱. H.265와 유사한 성능을 제공하지만 로열티가 없음. Youtube와 Chrome 등에서 사용됨.  
AV1 Alliance for Open Media에서 개발한 고성능 오픈 소스 비디오 코덱. VP9보다 높은 압축률을 제공한다. Netflix, Youtube등의 일부 콘텐츠에서 사용됨.  
MPEG-4 압축률이 높고 확장성이 좋으며, 여러 용도에 적용 가능한 표준 비디오 코덱.  


2. 디코딩 Decoding

디코딩은 인코딩의 역방향으로, 인코딩된 데이터를 원래의 형태로 되돌리는 과정이다.


3. 유니코드 Unicode

다양한 언어를 표현할 수 있는 국제 표준 인코딩 방식

기존의 문자 인코딩 방식이 각 언어나 문자 체계마다 각기 다른 인코딩 방식을 사용함으로 인해, 서로 다른 인코딩 간의 변환에 어려움이 있었다. 이에 단일 표준으로 모든 언어를 표현할 수 있게 하는 국제 표준 인코딩 방식이 생겨났는데, 이게 바로 유니코드이다.

UTF-8, UTF-16 과 같은 문자열 인코딩 방식을 자주 접해볼 수 있는데, UTF는 “Unicode Transformation Format” 으로 유니코드를 바이트로 인코딩하는 방식을 의미한다.

UTF
Unicode Transformation Format
유니코드를 바이트로 인코딩하는 방식.

-UTF-8 : 가변 길이 인코딩 방식. ASCII 문자는 1바이트, 다른 문자는 2~4바이트로 표현.
-UTF-16 : 대부분의 문자를 2바이트로 표현하는 고정 길이 인코딩 방식.
-UTF-32 : 모든 문자를 4바이트로 표현하는 고정 길이 인코딩 방식.

유니코드는 모든 문자에 고유한 코드 포인트를 할당하며, 자모 결합이 되는 결합 문자 또한 지원한다.


Reference

(얄코) 문자 인코딩, 유니코드 : https://www.youtube.com/watch?v=1jo6q4dihoU
인코딩과 디코딩 : https://brunch.co.kr/@simplebrunch/13