Jinsi Usimbaji wa Base64 Hufanya Kazi

Orodha ya maudhui:

Jinsi Usimbaji wa Base64 Hufanya Kazi
Jinsi Usimbaji wa Base64 Hufanya Kazi
Anonim

Usimbaji wa Base64 ni mchakato wa kubadilisha data binary hadi umbizo la mfuatano wa ASCII kwa kubadilisha data hiyo jozi kuwa kiwakilishi cha herufi 6. Mbinu ya usimbaji ya Base64 hutumika wakati data ya jozi, kama vile picha au video, inapotumwa kwenye mifumo ambayo imeundwa kusambaza data katika umbizo la maandishi wazi (ASCII).

Kwa Nini Usimbaji wa Base64 Unatumika?

Haja ya usimbaji wa Base64 inatokana na matatizo yanayotokea wakati midia inatumwa katika umbizo la mfumo wa jozi ghafi hadi mifumo inayotegemea maandishi.

Kwa kuwa mifumo inayotegemea maandishi (kama barua pepe) hufasiri data ya jozi kama aina mbalimbali za wahusika, ikiwa ni pamoja na herufi maalum za amri, sehemu kubwa ya data jozi ambayo hutumwa ili kuhamisha midia inafasiriwa vibaya na mifumo hiyo na kupotea au kuharibika katika mchakato wa usambazaji.

Image
Image

Njia mojawapo ya kusimba aina hii ya data binary kwa njia ambayo huepuka matatizo kama hayo ya utumaji ni kuituma kama maandishi dhahiri 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 upangaji, 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

Usimbaji wa Base64 hugawanya data ya jozi katika sehemu 6-bit za baiti 3 kamili na kuwakilisha zile kama herufi zinazoweza kuchapishwa katika kiwango cha ASCII. Inafanya hivyo kwa hatua mbili kimsingi.

Hatua ya kwanza ni kugawanya uzi wa jozi hadi vizuizi 6. Base64 hutumia biti 6 pekee (zinazolingana na 2^6=herufi 64) ili kuhakikisha kwamba data iliyosimbwa inaweza kuchapishwa na kusomeka kibinadamu. Hakuna herufi maalum zinazopatikana katika ASCII zinazotumika.

Herufi 64 (kwa hivyo jina Base64) ni tarakimu 10, herufi ndogo 26, herufi kubwa 26 pamoja na Alama ya Kuongeza (+) na Mfgo Mbele (/). Pia kuna herufi ya 65 inayojulikana kama pad, ambayo ni ishara Sawa (=). Herufi hii inatumika wakati sehemu ya mwisho ya data ya jozi haina biti 6 kamili.

Mfano wa Usimbaji wa Base64

Kwa mfano, chukua nambari tatu za ASCII 155, 162, na 233. Nambari hizi tatu zinajumuisha mkondo jozi wa 100110111010001011101001. Faili ya jozi, kama picha, ina mtiririko binary unaotumia makumi au mamia ya maelfu ya sufuri. na zingine.

Kisimbaji cha Base64 kinaanza kwa kugawanya mtiririko wa jozi katika vikundi vya herufi sita: 100110 111010 001011 101001. Kila moja ya vikundi hivi hutafsiriwa katika nambari 38, 58, 11, na 41..

Mkondo wa mfumo wa jozi wenye herufi sita hubadilisha kati ya herufi binary (au msingi-2) hadi desimali (msingi-10) kwa kukwepa kila thamani inayowakilishwa na 1 katika mfuatano wa jozi na mraba wake wa nafasi. Kuanzia kulia na kusonga kushoto, na kuanzia sifuri, thamani katika mkondo wa mfumo wa jozi huwakilisha 2^0, kisha 2^1, kisha 2^2, kisha 2^3, kisha 2^4, kisha 2^5.

Hii hapa kuna njia nyingine ya kuitazama. Kuanzia kushoto, kila nafasi ina thamani ya 1, 2, 4, 8, 16, na 32. Ikiwa nambari ya binary ina 1 kwenye slot, unaongeza thamani hiyo; ikiwa ina 0 kwenye yanayopangwa, huna. Mfuatano wa binary 100110 hubadilika hadi nambari ya decimal 38: 02^01 + 12^1 + 12^2 + 02^3 + 02^4 + 12^5=0+2 +4+0+0+32.

Usimbaji wa Base64 huchukua mfuatano huu wa jozi na kuugawanya katika thamani za biti 6 38, 58, 11 na 41.

Mwishowe, nambari hizi hubadilishwa kuwa herufi za ASCII kwa kutumia jedwali la usimbaji la Base64. Thamani za biti 6 za mfano huu hutafsiriwa hadi mfuatano wa ASCII m6Lp.

Kwa kutumia jedwali la ubadilishaji la Base64:

  • 38 ni m
  • 58 ni 6
  • 11 ni L
  • 41 ni p

Mchakato huu wa hatua mbili unatumika kwa mfuatano wote wa mfumo wa jozi ambao umesimbwa.

Ili kuhakikisha kuwa data iliyosimbwa inaweza kuchapishwa ipasavyo na haizidi kikomo cha urefu wa mstari wa seva ya barua pepe, vibambo vya laini mpya huwekwa ili kuweka urefu wa laini chini ya herufi 76. Vibambo vya mstari mpya vimesimbwa kama data nyingine zote.

Madhumuni yote ya usimbaji wa Base64, kutoka kwa kuongeza pedi ili kuhifadhi sehemu za binary za baiti 3 hadi kubadilisha mfumo wa jozi hadi maandishi kwa kutumia jedwali la Base64, ni kuhifadhi uadilifu wa taarifa jozi inayotumwa.

Jedwali la Usimbaji la Base64

Jedwali lifuatalo linatafsiri vibambo vyote 64 vilivyotumika katika usimbaji wa Base64.

Jedwali la Usimbaji la Base64
Thamani Char Thamani Char Thamani Char Thamani Char
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 mimi 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 55 3
8 mimi 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

Kutatua Mchezo wa Mwisho

Mwishoni mwa mchakato wa usimbaji, kunaweza kuwa na tatizo. Ikiwa saizi ya data asili katika ka ni nyingi ya tatu, kila kitu hufanya kazi vizuri. Ikiwa sivyo, kunaweza kuwa na baiti tupu. Kwa usimbaji ufaao, baiti 3 haswa za data jozi zinahitajika.

Suluhisho ni kuambatisha baiti za kutosha zenye thamani ya 0 ili kuunda kikundi cha baiti 3. Thamani mbili kama hizo huongezwa ikiwa data inahitaji baiti moja ya ziada ya data, moja huongezwa kwa baiti mbili za ziada.

Bila shaka, ufuatiliaji huu bandia wa '0 hauwezi kusimba kwa kutumia jedwali la usimbaji lililo hapa chini. Lazima ziwakilishwe na mhusika 65. Herufi ya pedi ya Base64 ni ishara ya Sawa (=) na imewekwa mwishoni mwa data iliyosimbwa.

Ilipendekeza: