Data decompression - MATLAB Cody - MATLAB Central

Problem 185. Data decompression

A chunk of data is to be 'decompressed'.

Input:

  • compressed: a row vector of uint8 values. This is the compressed data.
  • table: a cell-array of strings. Each string contains only '1's and '0's and represents a binary code.
  • alphabet: a string containing all possible symbols that may occur in the decompressed data. The symbol at alphabet(x) is encoded with the code at table{x}.

Output:

  • decompressed: a string with the decoded message.

Example:

compressed=[93,85,127]
table={'1','010'}
alphabet='al'
==>  decompressed = 'laaalalalaaaaaaa'

because:

[93,85,127] = '01011101 01010101 01111111' in binary
decoded from left to right:
'010 1 1 1 010 1 010 1 010 1 1 1 1 1 1 1'
= l  a a a  l  a  l  a  l  a a a a a a a

Remarks: The message is such that always exactly all bits of compressed are used. The solution is unique (see prefix-free code).

Solution Stats

30.42% Correct | 69.58% Incorrect
Last Solution submitted on Mar 16, 2025

Problem Comments

Solution Comments

Show comments
PIVlab surpasses 100K all-time File Exchange downloads
During the past twelve months, PIVlab, a MATLAB Community Toolbox for particle...
4
8

Problem Recent Solvers83

Suggested Problems

More from this Author7

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!