>= 6; $have -= 6; } return $out; } public function stringToBin($str) { $alpha = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,-"; $nbits = 6; $length = strlen($str); $out = ''; $at = 0; $rshift = 0; $char_in = 0; $char_out = chr (0); while (1) { $char_in = strcspn ($alpha, $str{$at++}); if ($rshift > 0) { $char_out |= chr ($char_in << 8 - $rshift); $out .= $char_out; $char_out = chr (0); if ($at >= $length) { break; } } $char_out |= chr ($char_in >> $rshift); $rshift += 2; if ($rshift === 8) { $rshift = 0; } } return $out; } }