У меня есть строка, которая является по существу двоичнымPerl: Кодирование двоичного числа в base64
my $string = "000110";
Я пытался использовать encode_base64 но который кодирует строки, если им чтение documentation правильно.
my $j = MIME::Base64->encode_base64($string);
print "$j\n"; # should print 'A'
>> TUlNRTo6QmFzZTY000000
Как я могу достичь этого в perl? ожидается, что длина строки будет составлять ~ 120 двоичных битов. Я бы предпочел не использовать какие-либо модули, которые не установлены с perl по умолчанию, целевая аудитория для этого скрипта не знакома с оболочкой.
Редактировать: Многие ответы на этот вопрос были окружены строками, а не действительными числами, было найдено одно решение, но для этого необходимо установить модуль Math :: BaseCalc.
Edit2: По существу, если у меня есть
my $binary_string = "000110";
я хотел бы, чтобы он кодируется в base64 (как число), так что она возвращает
>>G # for this case (binary number 000110 to base64 number = G)
Когда вы говорите, «по существу двоичный» вы имеете в виду, что это на самом деле двоичный? – abiessu
yes, $ string = "1001011", например, строка имеет только те или нули, каждый символ строки должен быть двоичным битом –
, пока он берет строку и кодирует ее как base64, но обрабатывает ее как число, а не как строка, так как encode_base64 делает –