Usimbaji Wa Base64

Ukiwa na zana ya Usimbaji ya Base64, unaweza kusimba maandishi utakayoweka kwa mbinu ya Base64. Ukipenda, unaweza kusimbua msimbo uliosimbwa wa Base64 kwa zana ya Kusimbua ya Base64.

Usimbaji wa Base64 ni nini?

Usimbaji wa Base64 ni mpango wa usimbaji unaoruhusu data ya jozi kusafirishwa kwenye mazingira ambayo hutumia baadhi ya usimbaji wa herufi zilizowekewa vikwazo (mazingira ambayo si misimbo yote ya herufi inaweza kutumika, kama vile xml, html, hati, programu za ujumbe wa papo hapo). Idadi ya wahusika katika mpango huu ni 64, na nambari 64 katika neno Base64 inatoka hapa.

Kwa nini Utumie Usimbaji wa Base64?

Haja ya usimbaji wa Base64 inatokana na matatizo yanayotokea wakati midia inasambazwa katika umbizo mbichi la binary hadi mifumo inayotegemea maandishi. Kwa sababu mifumo inayotegemea maandishi (kama vile barua pepe) hufasiri data ya jozi kama anuwai ya herufi, ikijumuisha herufi maalum za amri, data ya binary inayotumwa kwa njia ya uhamishaji inatafsiriwa vibaya na mifumo hii na inapotea au kupotoshwa katika uwasilishaji. mchakato.

Njia moja ya kusimba data kama hiyo ya binary kwa njia ambayo huepuka shida kama hizo za uwasilishaji ni kuzituma kama maandishi wazi ya ASCII katika umbizo lililosimbwa la Base64. Hii ni mojawapo ya mbinu zinazotumiwa na kiwango cha MIME kutuma data isipokuwa maandishi wazi. Lugha nyingi za programu, kama vile PHP na Javascript, zinajumuisha usimbaji na usimbaji wa Base64 ili kutafsiri data inayotumwa kwa kutumia usimbaji wa Base64.

Mantiki ya Usimbaji ya Base64

Katika encoding ya Base64, 3 * 8 bits = bits 24 za data zinazojumuisha byte 3 zimegawanywa katika vikundi 4 vya bits 6. Herufi zinazolingana na thamani za desimali kati ya [0-64] kati ya vikundi hivi 4 vya biti-6 hulinganishwa kutoka kwa jedwali la Base64 ili kusimba. Idadi ya vibambo vilivyopatikana kutokana na usimbaji wa Base64 lazima iwe kizidishio cha 4. Data iliyosimbwa ambayo si kizidishio cha 4 si data sahihi ya Base64. Wakati wa kusimba kwa algorithm ya Base64, wakati usimbaji umekamilika, ikiwa urefu wa data sio kizidishio cha 4, herufi "=" (sawa) huongezwa hadi mwisho wa usimbaji hadi iwe kizidisho cha 4. Kwa mfano, ikiwa tuna data iliyosimbwa ya Base64 yenye herufi 10 kama tokeo la usimbaji, mbili "==" zinapaswa kuongezwa hadi mwisho.

Mfano wa Usimbaji wa Base64

Kwa mfano, chukua nambari tatu za ASCII 155, 162 na 233. Nambari hizi tatu huunda mkondo wa binary wa 100110111010001011101001. Faili ya binary kama vile picha ina mtiririko wa mfumo wa jozi ambao hufanya kazi kwa makumi au mamia ya maelfu ya sufuri na moja. Kisimbaji cha Base64 huanza kwa kugawanya mkondo wa jozi katika vikundi vya herufi sita: 100110 111010 001011 101001. Kila moja ya vikundi hivi hutafsiriwa katika nambari 38, 58, 11, na 41. Mtiririko wa jozi wenye herufi sita hubadilishwa kati ya jozi (au msingi). 2) hadi herufi za desimali (msingi-10) kwa kukwepa kila thamani inayowakilishwa na 1 katika safu ya jozi na mraba wa nafasi. Kuanzia kulia na kuhamia kushoto na kuanzia sifuri, thamani katika mkondo wa binary zinawakilisha 2^0, kisha 2^1, kisha 2^2, kisha 2^3, kisha 2^4, kisha 2^ 5.

Hapa kuna njia nyingine ya kuiangalia. Kuanzia kushoto, kila nafasi ina thamani ya 1, 2, 4, 8, 16 na 32. Ikiwa slot ina nambari ya binary 1, unaongeza thamani hiyo; ikiwa slot ina 0, unakosa. Safu ya binary 100110 inageuka 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 decimal + 4 + 0 + 0 + 32. Usimbaji wa Base64 huchukua kamba hii ya jozi na kuigawanya katika maadili 6-bit 38, 58, 11 na 41. Hatimaye, nambari hizi zinabadilishwa kwa herufi za ASCII kwa kutumia jedwali la usimbaji la Base64.