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