C언어 계열

허프만 코딩에서 바이너리 형태로 저장

wi

wiker0712
답변 완료
30 XP

부호화를 통해 만들어진 문자 '1'(8bit)과 '0'(8bit)로 이루어진 문자열을 바이너리 형태의 1(1bit)과 0(1bit)로 바꾸고 이것을 읽어들일때 다시 문자 형태로 바꾸는 것이 가능하나요?
바이너리 형태로 값을 저장해도 읽어들일 때 8bit 단위로 값을 처리해서 0101 0011 1100 101 이렇게 8의 배수가 아닌 값이 저장되어 있으면 뒤에 7bit는 제대로 값을 읽어내지 못하게 되더라구요 그렇다고 8의 배수를 맞추기 위해 임의의 비트를 넣으면 복호화 할때 올바르게 복호화 되지도 않구요

c++에서 문자 '1'(8bit), '0'(8bit)을 바이너리 1(1bit), 0(1bit)로 봐꾸고 그 반대도 자유자재로 할 수 있는 방법이 없을까요?
허프만 코딩이 이론상으론 비트단위로 압축을 하는데 다른 사람들이 구현한 예시를 찾아보면 다 바이너리(1bit)가 아닌 문자(8bit)로 압축하였던데 실제 허프만 코딩도 이론과는 다르게 바이너리 형태가 아닌 8bit 문자 형태로 압축되나요?


불러오는 중...