Како Басе64 Енцодинг ради

Ако је интернет информацијски аутопут, онда је пут за е-пошту ужа олуја. Само врло мали возови могу проћи.

Транспортни систем е-поште дизајниран је само за обичан АСЦИИ текст. Покушај слања текста на другим језицима или произвољних датотека је као што је купити камион кроз клизаву.

Како Велики Камион пролази кроз Равину?

Тада како шаљете велики камион кроз малу клупу? Морате га однети на делове на једном крају, транспортујте комаде кроз клетарац и поново направити камион од комада на другом крају.

Исто се догађа када пошаљете прилог за датотеку путем е-поште . У процесу познат као кодирање бинарних података трансформисан је у АСЦИИ текст, који се може без проблема пренети у е-пошту. На крају примаоца, подаци се декодирају и оригинална датотека је поново изграђена.

Један од начина кодирања произвољних података као обичан АСЦИИ текст је Басе64. То је једна од техника које МИМЕ стандард користи за слање података који нису обичан текст .

Басе64 у Ресцуе

Кодирање Басе64 подразумева три бајта, од којих свака садржи осам бита, и представља их као четири принтабле знака у АСЦИИ стандарду. То чини у суштини два корака.

Први корак је претворити три бајта у четири броја од шест бита. Сваки карактер АСЦИИ стандарда састоји се од седам битова. Басе64 користи само 6 бита (одговара 2 ^ 6 = 64 карактера) како би се осигурало да се кодирани подаци могу штампати и човеку читљив. Ниједан од специјалних знакова који су доступни у АСЦИИ-у се не користе.

64 карактера (дакле име Басе64) су 10 цифара, 26 слова мале слова, 26 великих слова као и '+' и '/'.

Ако су, на пример, три бајта 155, 162 и 233, одговарајући (и застрашујући) битни ток је 100110111010001011101001, што одговара 6-битним вредностима 38, 58, 11 и 41.

Ови бројеви се претварају у АСЦИИ знаке у другом кораку помоћу табеле кодирања Басе64. 6-битне вредности нашег примера преведу на АСЦИИ секвенцу "м6Лп".

Овај двостепени процес се примењује на читав низ бајтова који су кодирани. Да би се обезбедило да се кодирани подаци могу исправно одштампати и да не прелазе границе дужине линије поштанског сервера, уносе се нови линијски знакови како би се задржале дужине линије испод 76 знакова. Нови знакови су кодирани као сви остали подаци.

Решавање Ендгамеа

На крају процеса кодирања, можда ћемо доћи до проблема. Ако је величина првобитних података у бајтовима вишеструка од три, све иде добро. Ако није, можемо завршити са једним или два 8-битна бајта. Међутим, за правилно кодирање, требају нам тачно три бајта.

Решење је додати довољно бајтова са вриједношћу '0' за креирање 3-бајтне групе. Две такве вредности додају се ако имамо један додатни бајт података, један је додан за два додатна бајта.

Наравно, ове вештачке траке "0" се не могу кодирати користећи табелу кодирања испод. Они морају бити представљени са 65-им знаком.

Основни карактер за Басе64 је '='. Наравно, он се може појавити само на крају кодираних података.

Басе64 Енцодинг Табле

Вредност Цхар Вредност Цхар Вредност Цхар Вредност Цхар
0 А 16 К 32 г 48 в
1 Б 17 Р 33 х 49 Икс
2 Ц 18 С 34 и 50 и
3 Д 19 Т 35 ј 51 з
4 Е 20 У 36 к 52 0
5 Ф 21 В 37 л 53 1
6 Г 22 В 38 м 54 2
7 Х 23 Икс 39 н 55 3
8 Ја 24 И 40 о 56 4
9 Ј 25 З 41 стр 57 5
10 К 26 а 42 к 58 6
11 Л 27 б 43 р 59 7
12 М 28 ц 44 с 60 8
13 Н 29 д 45 т 61 9
14 О 30 е 46 у 62 +
15 П 31 ф 47 в 63 /