'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";