<?php
$input = $argv[1];
$start = strpos($input, '11010'); /* Start Sentinel */
$to_parse = substr($input, $start); // strip leading zeros
$byte = '';
$pos = 0;
$parse_table = array( '00001' => '0',
'10000' => '1',
'01000' => '2',
'11001' => '3',
'00100' => '4',
'10101' => '5',
'01101' => '6',
'11100' => '7',
'00010' => '8',
'10011' => '9',
'01011' => ':',
'11010' => ';',
'00111' => '<',
'10110' => '=',
'01110' => '>',
'11111' => '?');
while ($pos < strlen($to_parse)) {
$byte = substr($to_parse, $pos, 5);
echo $parse_table[$byte];
if ($byte == '11111') { /* End Sentinel */
break;
}
$pos += 5;
}
echo "\n";