Base64 е група от подобни схеми за кодиране от двоичен към текст, които представят двоични данни във формат на ASCII низ, като ги превеждат в представяне с основа 64. Терминът Base64 произлиза от специфично MIME кодиране за прехвърляне на съдържание.

Схемите за кодиране Base64 обикновено се използват, когато има нужда от кодиране на двоични данни, които трябва да бъдат съхранени и прехвърлени през носители, които са предназначени да работят с текстови данни. Това е, за да се гарантира, че данните остават непокътнати без модификация по време на транспортиране. Base64 обикновено се използва в редица приложения, включително имейл чрез MIME и съхраняване на сложни данни в XML.

В JavaScript има две функции съответно за декодиране и кодиране на base64 низове:

Функцията atob() декодира низ от данни, който е кодиран с помощта на кодиране base-64. Обратно, функцията btoa() създава ASCII низ, кодиран с base-64, от „низ“ от двоични данни.

И atob(), и btoa() работят върху низове. Ако искате да работите върху ArrayBuffers, моля, прочетете този параграф.

Увеличаване на кодирания размер

Всяка цифра Base64 представлява точно 6 бита данни. И така, три 8-битови байта от входния низ/двоичен файл (3×8 бита = 24 бита) могат да бъдат представени от четири 6-битови цифри Base64 (4×6 = 24 бита).

Това означава, че Base64 версията на низ или файл ще бъде най-много 133% от размера на неговия източник (~33% увеличение). Увеличението може да е по-голямо, ако кодираните данни са малко. Например, низът "a" с length === 1 се кодира в "YQ==" с length === 4— увеличение от 300%.