읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥


런 렝스 코딩


보통 알파벳은 한 문자가 1바이트의 데이터로 저장이 되어 있습니다.
예를들어 'AABBBBCC' 라는 문자가 있다면 이것은 8 바이트 겠지요.
이처럼 같은 문자가 여러번 반복이 되고 있으면 이것은 'A2B4C2' 로 줄여서 나타낼 수가 있습니다. 'A2B4C2' 는 6바이트 입니다.
즉, 8바이트를 6바이트로 압축한 것이지요~

이처럼 파일의 내용을 '데이터 * 반복횟수' 로 나타내어 압축하는 방식을 런 렝스 코딩(Run Length Coding) 이라고 부릅니다.

런 렝스 코딩은 팩시밀리에서 쓰이고 있구요, 그림파일도 결국에는 바이트가 모인 것이므로 런 렝스 코딩으로 압축이 가능하긴 합니다;;




런 렝스 코딩의 단점

대부분의 실제 문서 파일에서는 같은 문자가 여러번 계속해서 반복되는 부분이 많지가 않습니다 실제로;; .

그렇기 때문에 런 렝스 코딩은 그림 파일처럼 같은 데이터가 계속 반복될때는 효과가 있겠지만, 문서파일 압축에는 부적합 합니다

예를들어 'Java' 라는 4글자를 런 렝스 코딩으로 바꾸면 'J1a1v1a1' 으로써
8문자 (즉 이전의 2배) 의 크기가 되어버립니다. 연속되는 문자가 없으므로 모든 문자의 뒤에 '1' 이 붙기 때문이지요.

따라서 문자 파일이 아닌 그림 파일 압축에만 사용하여야 합니다.




저작자 표시 비영리 변경 금지
신고
블로그 정보 이미지
『아름다운 사표』,『인생을 바꾸는 기적의 블로그』,『1인분 청춘』의 저자, 작가, 강사, 글쟁이, 블로거, 문화 콘텐츠 매니저, skatldjs@gmail.com