При работе с данными на компьютере используются разнообразные кодировки. Они позволяют переводить двоичную информацию в текстовый вид. Соответствующий компонент имеет форму записи типа Base N, где N – это размер используемого текстового алфавита.
Кодировки применяются для того, чтобы подготовить информацию электронного характера для передачи по текстовым протоколам или нецифровым каналам. Наиболее распространенный алгоритм – Base64. Именно на нем будет сделан акцент в статье. Также предстоит изучить иные варианты кодирования символов в информатике.
Base16
Первый алгоритм «работы» – это Base16. Кодировка, которая помогает кодировать двоичный байт (информацию) соответствующих символов от 0 до 9 включительно. Поддерживает буквы A-F. Использует в работе набор ASCII.
Метод предусматривает такой алгоритм:
- Преобразовать имеющиеся электронные материалы (соответственно ASCII, UTF-8 и так далее) в соответствующее двоичное число. Старшие биты менее 8 бит будут заполнены 0. Далее все двоичные биты объединяются в цепочку. 4 двоичных bit проходят преобразование в десятичные.
- Найти подходящий символ в табличке кодирования Base16. Во внимание принимается десятичное значение.
- Соответствующий вариант – это 4 бита, помогающие представлять символы. Из-за этого исходный 1 байт делится на две группы. Объем информации возрастает в 2 раза от исходного.
Выше – таблица, которая поможет сориентироваться при работе с символами и их преобразованием.
Base 32
Base 32 похож на предыдущий алгоритм. Он отличается тем, что использует для записи 32 символа:
- заглавные буквы A-Z;
- числа от 2 до 7.
Применяется при кодировании произвольных байтовых данных. В этом случае строка (string) двоичных электронный материалов будет «шифроваться» в соответствие с 5 двоичными сведениями. Биты подразделяются на группы.
Единица передачи информации – байт (8 двоичных разрядов). Цифры перед делением кратны 40. Связано это с тем, что соответствующий показатель является наименьшим для 5 и 8. Если цифры меньше 40 бит, нужно добавить «=», «=» к тому, что написано после кодирования.
Выше – табличка алфавита, которая поможет кодировать символы при помощи соответствующего base и записать желаемый код.
Base64
Кодирование Base64 – одно из самых популярных в современной информатике. Представлено группой схем кодирования, позволяющих закодировать двоичный код в текст в последовательности по 24 бита. Они представляются четырьмя 6-битными цифрами Base64.
Это – наиболее распространенный алгоритм для Сети. Позволяет встраивать файлы изображений и иные ресурсы двоичного характера в текст. Пример – результатом обработки соответствующей операции будет документ HTML или CSS.
Алгоритм Base64 используется при отправке вложений по электронной почте. Он необходим из-за того, что SMTP в своей первоначальной форме был сформирован только для передачи 7-разрядных символов ASCII. Такой вариант добавит к прибавлению всего 37% от изначального объема.
О дизайне
Basic64 encoding представляет собой конкретный набор из 64 символов. Он выбран для представления 64-значений имеющейся базы. Меняется в зависимости от непосредственной реализации.
Обращая стратегия предусматривает следующие особенности:
- В процессе задействованы 64 «элемента». Они – общие для большинства способов кодирования информации. Доступны для печати с обычной клавиатуры.
- Соответствующая комбинация сводит к минимуму вероятность изменения исходных данных при отправке через системы, не относящиеся изначально к чистым 8-разрядным. Это значит, что строка будет выдана в том виде, в котором передана.
- Реализация Base64 в MIME применяет A-Z и a-z, а также 0-9 для первых 62 значений. Другие варианты – это разделение соответствующего свойства. Отличаются символами, выбранных для последних двух значений. Пример – UTF-7.
Кодирование Base64 изначально based for коммутируемых связей между системами, которые работают в пределах одной и той же операционной системы. Пример – uuencode для UNIX. Эта информация помогает понять, какие символы безопасны для применения. Юникод задействует прописные буквы, множество знаков препинания и цифры. А строчных записей здесь нет.
Выше – пример «алфавита» для соответствующего варианта. С его помощью можно понять, как будет выглядеть строка Base64.
Пример
Для того, чтобы лучше понимать encodings, стоит рассмотреть наглядный код шифрования. Пример базируется на ASCII для простоты понимания. Это – нетипичный вариант применения. Связано это с тем, что он изначально обладает должным уровнем безопасности.
Более распространенный вариант – работа с графиков. Результирующие сведения Base64 содержат всего 64 разных символа ASCII. Все они надежно передаются через системы, способные повреждать исходные байты.
Нужно зашифровать строку: «Многие руки выполняют легкую работу».
При шифровании strings в виде цитат происходит их представление в качестве последовательности 8-битных компонентов ASCII. Они зашифрованы в Base64 MIME так, что получается следующая запись:
Здесь:
- Новые строчки и пробелы могут стоять в любых местах. Они обязательно игнорируются при декодировании.
- Зашифрованное значение Man – это TWFu.
- M, n, a хранятся в виде 77, 110 и 97 соответственно. Они разделяются 01001101, 01101110 и 01100001.
- Соответствующие результаты объединяются в 24-строчку.
- Группы из 6-бит проходят преобразование в отдельные числа от самого начала до конца. В примере – в 24-битной строчке всего 4 числа.
- Полученный результат преобразовывается в подходящие записи «алфавита» Base64.
Этого достаточно для того, чтобы разобраться с темой на первых порах.
Где использовать
Кодировку Base64 целесообразно применять при:
- Отправке крупных бинарных документов совместно с текстом. Пример – сокращение http-запросов за ресурсами.
- Генерации hash.
Для шифрования встроенного текстового контента подходит плохо. Также стоит учесть, что примерно на 25-37% исходный размер документа увеличится.
Быстрое изучение
Разобраться в приведенной теме помогают разнообразные уроки. Можно отыскать в Сети сопутствующую литературу и приступить к самостоятельному изучению.
Но лучшее решение – прохождение дистанционных онлайн-курсов. Пример – от образовательного центра OTUS. Здесь можно отыскать курсы по инновационным IT-направлениям на любой вкус и уровень. В срок до года удастся освоить профессию программиста, разработчика, верстальщика, системного администратора и не только. В конце пользователю выдается электронный сертификат, подтверждающий навыки и умения.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!