Base64 е позиционна бройна система с основа от 64 печатаеми ASCII знака (Американски стандартен код за обмен на информация). Системата се използва например за представяне на двоични файлове в електронна поща. Всички варианти на Base64 използват знаците A-Z, a-z и 0-9, общо 62 знака, липсващите два знака се заместват с различни символи в системите за изпълнение. Всеки три оригинални байта са кодирани с четири знака.
История на Base64
Първоначално само текст можеше да се изпраща по имейл (RFC 822). С течение на времето, заедно с текста, беше необходимо да се прехвърлят аудио, видео и графични файлове, приложения и др. Имаше нужда от конвертиране на двоичен файл в текст. Base64 беше добавен към съществуващото тогава UUE кодиране (Uuencode), което се използва в спецификацията MIME (Многоцелеви разширения за интернет поща) (RFC 2045-2049).
MIME е стандарт за описание на заглавки в електронни съобщения. Използването му ви позволява да изпращате няколко прикачени файлове в едно писмо, например архивирани и текстови файлове или HTML страници. Програма за електронна поща, поддържаща MIME, свободно извлича архива от текстов файл, показва съобщението и анализира HTML таговете. Например Outlook Express автоматично изпълнява скриптове, вградени в HTML страница.
Base64 е роден в ерата на седем-, шест- и три-битовите байтове. Старите кодировки не поддържаха осембитовия стандарт, поради което част от информацията беше загубена при прехвърляне от старата система към новата. Често при изпращане на писма пощенският сървър изпуска допълнителен, осми, бит или не предава видео и изображения. За да се премахнат подобни проблеми, бяха разработени кодировки за преобразуване на двоичен код в текст. Най-популярната и ефективна система е Base64, поради своята простота се използва навсякъде.
Алгоритъм, наречен "кодиране за печат", е описан за първи път през 1987 г., Base64 се появява през юни 1992 г. Версиите на тази система са Base16, Base32, Base36, Base58, Base85, Base91 и Base122. По-късните стандарти се използват активно в ИТ сферата.
Интересен факт
Някои системи използват Base58 за кодиране на URL адреси, което се различава от Base64 по липсата на знаци в крайния текст, които могат да бъдат двусмислено възприети от човек. 0 (нула), O (главно латинско o), I (главно латинско i), l (малко латинско L) са изключени. Също така са изключени знаците + (плюс) и / (наклонена черта), които при кодиране на URL могат да доведат до неправилно тълкуване на адреса.
Base64 осигурява обратимо и възстановимо кодиране. Услугата преобразува знаците от осембитовата кодова таблица в знаци, които се запазват по време на преноса на информация в мрежи и между устройства.