Base64 кодиране

С инструмента за кодиране Base64 можете да шифровате текста, който въвеждате с метода Base64. Ако желаете, можете да декодирате криптирания Base64 код с инструмента за декодиране на Base64.

Какво е Base64 кодиране?

Base64 Encoding е схема за кодиране, която позволява пренасянето на двоични данни в среди, които използват само някои ограничени кодировки на знаци (среди, в които не могат да се използват всички кодове на знаци, като xml, html, скрипт, приложения за незабавни съобщения). Броят на знаците в тази схема е 64, а числото 64 в думата Base64 идва от тук.

Защо да използвате Base64 кодиране?

Необходимостта от Base64 кодиране произтича от проблеми, които възникват, когато медиите се предават в необработен двоичен формат към текстови системи. Тъй като текстовите системи (като електронна поща) интерпретират двоичните данни като широк спектър от знаци, включително специални командни знаци, повечето от двоичните данни, предадени към носителя на трансфер, се тълкуват погрешно от тези системи и се губят или повреждат при предаването процес.

Един метод за кодиране на такива двоични данни по начин, който избягва подобни проблеми при предаването, е изпращането им като обикновен ASCII текст в кодиран формат Base64. Това е една от техниките, използвани от стандарта MIME за изпращане на данни, различни от обикновен текст. Много езици за програмиране, като PHP и Javascript, включват функции за кодиране и декодиране на Base64 за интерпретиране на данни, предавани с помощта на Base64 кодиране.

Base64 кодираща логика

При кодиране Base64 3 * 8 бита = 24 бита данни, състоящи се от 3 байта, са разделени на 4 групи по 6 бита. Знаците, съответстващи на десетичните стойности между [0-64] от тези 4 6-битови групи, се съпоставят от таблицата Base64 за кодиране. Броят на знаците, получени в резултат на Base64 кодиране, трябва да бъде кратно на 4. Кодирани данни, които не са кратни на 4, не са валидни данни от Base64. При кодиране с алгоритъма Base64, когато кодирането завърши, ако дължината на данните не е кратна на 4, знакът "=" (равен) се добавя в края на кодирането, докато стане кратно на 4. Например, ако в резултат на кодирането имаме 10-символни данни, кодирани в Base64, в края трябва да се добавят две "==".

Пример за кодиране на Base64

Например, вземете трите ASCII числа 155, 162 и 233. Тези три числа образуват двоичен поток от 100110111010001011101001. Двоичен файл като изображение съдържа двоичен поток, който работи за десетки или стотици хиляди нули и единици. Кодерът Base64 започва с разделяне на двоичния поток на групи от шест знака: 100110 111010 001011 101001. Всяка от тези групи се превежда в числа 38, 58, 11 и 41. Бинарен поток от шест знака се преобразува между двоичен (или основен). 2) до десетични (основа-10) знаци, като се възведе в квадрат всяка стойност, представена с 1 в двоичния масив, чрез позиционния квадрат. Започвайки от дясно и премествайки се наляво и започвайки от нула, стойностите в двоичния поток представляват 2^0, след това 2^1, след това 2^2, след това 2^3, след това 2^4, след това 2^ 5.

Ето още един начин да го погледнете. Започвайки отляво, всяка позиция е на стойност 1, 2, 4, 8, 16 и 32. Ако слотът има двоично число 1, вие добавяте тази стойност; ако слотът има 0, вие липсвате. Двоичен масив 100110 превръща 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 десетичен знак + 4 + 0 + 0 + 32. Base64 кодирането взема този двоичен низ и го разделя на 6-битови стойности 38, 58, 11 и 41. И накрая, тези числа се преобразуват в ASCII знаци с помощта на таблицата за кодиране Base64.