2.37. base64-кодирование и декодирование

2.37. base64-кодирование и декодирование

Алгоритм base64 часто применяется для преобразования двоичных данных в текстовую форму, не содержащую специальных символов. Например, в конференциях так обмениваются исполняемыми файлами.

Простейший способ осуществить base64-кодирование и декодирование — воспользоваться встроенными возможностями Ruby. В классе Array есть метод pack, который возвращает строку в кодировке base64 (если передать ему параметр "m"). А в классе string есть метод unpack, который декодирует такую строку:

str = "070702abdce"

new_string = [str].pack("m")      # "BwcCB2JkY2U="

original = new_string.unpack("m") # ["aa02abdce"]

Отметим, что метод unpack возвращает массив.

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Похожие главы из других книг:

Включение музыки (base64)

Из книги автора

Включение музыки (base64) Летом 2008 года весь мир облетела страница, содержащая реализацию первого уровня Super Mario Brothers. В нее, в общем, можно играть, хотя упущены многие ключевые аспекты (нет грибов, нет флага, нет повышающих очков и т. д.). Однако это, на самом деле, не самый


6.16.13 Кодирование Timestamp

Из книги автора

6.16.13 Кодирование Timestamp Вариант Timestamp (временная метка) содержит указатель, подполе переполнения и подполе флага. Подполе флага определяет один из трех возможных для временной метки форматов.Если в подполе флага содержится 0, то при каждом попадании в выделенном месте


15.11.2 Кодирование в XDR

Из книги автора

15.11.2 Кодирование в XDR Сообщения запросов и ответов для данной версии программы или процедуры имеют фиксированный формат. Тип данных поля определяется положением этого поля в сообщении. Длина каждого поля должна быть кратна 4 байт. Многие параметры представляются целыми


16.13.4 Кодирование содержания

Из книги автора

16.13.4 Кодирование содержания RFC 822 определил исходной формат для текстовых сообщений Интернета. Содержание почтового сообщения состоит из последовательности строк, завершающихся <CR><LF>. Максимальная длина каждой строки (включая <CR><LF>) определена в 1000


16.13.6 Метод кодирования Base64

Из книги автора

16.13.6 Метод кодирования Base64 Метод кодирования Base64 преобразует любой тип данных к большему в 3 раза количеству текстовых символов. Данные разделяются на части по три 8-разрядных, байта. Например:10001000 00110011 11110001Для преобразования эта последовательность сначала разделяется


Пример 12-30. Декодирование файлов

Из книги автора

Пример 12-30. Декодирование файлов #!/bin/bashlines=35 # 35 строк для заголовка (более чем достаточно).for File in * # Обход всех файлов в текущем каталоге...do search1=`head -$lines $File | grep begin | wc -w` search2=`tail -$lines $File | grep end | wc -w` # Закодированные файлы начинаются со слова "begin", #+ и заканчиваются словом


Кодирование сообщения.

Из книги автора

Кодирование сообщения. Мы рассмотрели, как использовать ключи. Теперь давайте попробуем использовать это для чего-нибудь интересного. Давайте посмотрим, как декодировать файл:pgp -е файл идентификаторПриведем пример: учитель хочет послать своему коллеге экзаменационные


Декодирование.

Из книги автора

Декодирование. Для декодирования файла и/или проверки его подписи используется команда:pgp входной_файл [-o выходной_файл]По умолчанию предполагается, что входной файл имеет расширение .pgp.   Выходной файл является необязательным параметром и будет содержать


1.4. Кодирование информации

Из книги автора

1.4. Кодирование информации В настоящее время во всех вычислительных машинах информация представляется с помощью электрических сигналов. При этом возможны две формы ее представления – в виде непрерывного сигнала (с помощью сходной величины – аналога) и в виде нескольких


Приложение E Описание Base64

Из книги автора

Приложение E Описание Base64 Этот алгоритм был разработан для представления произвольных последовательностей байтов в форму, читаемую для человека. Кодирующий и декодирующий алгоритмы очень просты, но закодированные данные примерно на 33% больше, чем некодированные. Этот