인코딩

인코딩(Encoding)은 정보의 형태를 부호로 처리하는 과정으로. 부호화(符號化)라고도 한다. 반대 과정은 디코딩(decoding) 또는 복호화(復號化)라고 부른다.

인코딩이란 말은 컴퓨터에서 많이 쓰인다. 정보를 담은 파일을 저장 매체에 담을 때 문자, 그림의 화소, 음성 신호나 동영상 등을 디지털 부호(0, 1)로 변환하여 저장한다. 여기서 부호 변환은 정해진 알고리즘으로 진행된다.

흔히 말하는 동영상 파일의 확장자명이나 화면 크기 등을 조정하는 '동영상 인코딩'도 이에 해당한다. 화상 정보를 읽어내서 이를 다른 방식으로 부호화하여 저장하는 샘이다.

모스 부호 역시 넓은 의미로 인코딩의 범주에 들어간다.

문자 인코딩[편집 | 원본 편집]

텍스트로 이루어진 정보를 인코딩하는 데 앞서 먼저 문자의 고유 코드를 약속한다. "'가'는 몇 번, '나'는 몇 번…"과 같이 번호를 지정하는 방식이다. 컴퓨터는 이진법에 기반해서 작동하므로 보통은 16진법 표현을 많이 쓴다.

대표적인 코드 목록으로 ASCII가 있다. 이는 제어 문자와 영숫자, 기호 등을 7비트(0~127)로 표현한 것이다. 가령 문자 A의 경우 코드 값은 0x41(10진법으로 65)이 된다. 초창기에는 여러 가지 코드 목록이 있었는데, 코드 호환이 되지 않는 다른 국가에서 사용하면 다른 글자로 인식하여 글자가 깨지는 일이 많았다. 유니코드는 모든 국가에서 공통으로 사용할 수 있게 지정되었다. 현재 거의 모든 인코딩은 이 유니코드를 기반으로 이루어진다.

인코딩의 대표적 예로 UTF-8, UTF-16, UCS-2, 등이 있다. 그 밖에 인터넷 주소에서 볼 수 있는 URL 인코딩이나 Base64 방식도 포함된다.

어떤 문자열을 인코딩해서 저장했을때, 그걸 다시 불러오려면 같은 인코딩 방식으로 열어야 한다. 그렇지 않으면 문자 코드를 잘못 해석해서 문자 깨짐이 발생한다.

관련 문서[편집 | 원본 편집]

각주