티스토리 뷰

Tech

인코딩과 디코딩

Ellie Kim 2019. 2. 11. 23:54

인코딩이란 

 

문자나 기호들의 집합을 컴퓨터에 저장하거나 통신에 사용할 목적으로 부호화하는 방법이다.

 

부호화를 수행하는 장치나 회로, 소프트웨어 및 알고리즘을 부호기 또는 인코더라고 한다.

 

 

디코딩이란

 

인코딩의 반대 개념으로 복호화라고 하는데 부호화된 정보를 부호화되기 전으로 되돌리는 처리 방식을 말한다. 

 

이코더와 마찬가지로 복화화를 수행해주는것을 복호기 또는 디코더라고 한다.

 

 

문자 인코딩의 구성

 

문자집합, 문자 인코딩 형태, 문자 인코딩 구조의 3가지로 구성된다.

    • 문자집합 

      • 정보를 표현하기 위한 글자들의 집합이다.

      • 예를들어 ASCII코드와 유니코드가 있다.

    • 문자 인코딩 형태 

      • 특정한 문자 집합 안의 문자들을 컴퓨터 내에서 사용할 목적으로 일정한 범위 안의 정수로 변환하는 방법이다.

      • 예를들어 유니코드와 8비트, 숫자의 집합으로 나타내는 UTF-8이나, 16비트로 나타내는 UTF-16이있다. 

      • 대부분의 일반적인 문자 인코딩들이 포함된다.

    • 문자 인코딩 구조 

      • 문자 인코딩 형태로 변환된 코드값을 옥텟 기반의 시스템에서 활용하기 위해 옥텟들로 변환하는 방법이다. 

      • ISO2022와 같은 복합 인코딩이나, SCSU와 같은 압축 방법이 해당된다.

 

인코딩과 디코딩을 하는 이유

국가별로 언어가 다르듯이 각 언어마다 하나의 규격으로 표준화 시켜 국가별 또는 개인의 요구에 따라 사용할 수 있도록 문자 집합을 만들고, 이러한 문자 집합을 가지고 부호화 하여 사용하기 위한 것이 인코딩을 하는 이유라고 볼 수 있다.

 

UTF-8이란

유니코드를 위한 가변길이 문자 인코딩 방식 중 하나이다.

전 세계 모든 문자를 표현할 수 있다. 한 문자를 표현하기 위해 1바이트에서 4바이트까지 사용한다. 

 

장점

- 모든 유니코드 문자 표현 가능,바이트 경계를 순서대로, 혹은 역순으로 찾기 쉽다.

- 각 문자의 바이트 표현이 독립적이어 다른 문자에 영향을 주지 않는다. (소프트웨어와 호환성 가짐)

- 첫 바이트만 사용하여 해당 바이트 표현의 길이를 결정할 수 있다. 문자열을 매우 쉽게 얻을 수 있다.

- 인코딩에 간단한 비트연산만 사용되어 효과적이다.

 

단점

- 대부분의 UTF-8 문자열들은 기존 인코딩 문자열보다 크기가 크다.

'Tech' 카테고리의 다른 글

Xcode 퀵헬프 사용하기  (0) 2020.09.07
디자인패턴1) 싱글톤 패턴  (0) 2019.03.15
디자인 패턴  (0) 2019.03.15
Git 용어 정리  (0) 2019.03.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함