Base64 Codaynta

Aaladda Base64 Encoding, waxaad ku qarin kartaa qoraalka aad geliso habka Base64. Haddii aad rabto, waxaad ku dejin kartaa koodka qarsoon ee Base64 oo wata aaladda Base64 Decode.

Waa maxay Base64 Encoding?

Base64 Encoding waa nidaam codayn ah oo u oggolaanaya xogta binary in lagu raro bay'ada adeegsata qaar ka mid ah xarfaha xaddidan oo keliya (deegaannada aan dhammaan koodka xarfaha la isticmaali karin, sida xml, html, script, codsiyada fariimaha degdegga ah). Tirada xarfaha nidaamkan waa 64, lambarka 64 ee ereyga Base64 wuxuu ka yimid halkan.

Waa maxay sababta loo isticmaalo codaynta Base64?

Baahida loo qabo codaynta Base64 waxay ka timaadaa dhibaatooyinka soo ifbaxa marka warbaahinta lagu kala qaado qaabka binary-ga cayriin loona gudbiyo hababka qoraalka. Sababtoo ah hababka qoraalka ku salaysan (sida e-mailka) waxay u tarjumaan xogta binary sida xarfo kala duwan, oo ay ku jiraan xarfaha amarka gaarka ah, inta badan xogta binary ee loo gudbiyo dhexdhexaadiyaha waxaa si khaldan u fasira nidaamyadan oo lumaya ama kharriban gudbinta. habka.

Mid ka mid ah habka loo codeeyo xogta binary-ga ah si looga fogaado dhibaatooyinka gudbinta noocaas ah waa in loo diro qoraal ASCII cad oo qaabaysan oo Base64 ah. Tani waa mid ka mid ah farsamooyinka uu isticmaalo heerka MIME si loogu diro xog aan ahayn qoraal cad. Luqadaha barnaamijyada badan, sida PHP iyo Javascript, waxaa ka mid ah Base64 codaynta iyo habaynta si loo tarjumo xogta la gudbiyo iyadoo la adeegsanayo codaynta Base64.

Base64 Encoding Logic

Base64 encoding, 3 * 8 bits = 24-bit oo xog ah oo ka kooban 3 bytes waxa loo qaybiyaa 4 kooxood oo 6 bits ah. Jilayaasha u dhigma qiyamka jajab tobanle ee u dhexeeya [0-64] ee 4-kooxood ee 6-bit ah ayaa laga soo bilaabo miiska Base64 si loo codeeyo. Tirada xarfaha lagu helay natiijada Base64 waa inay noqotaa tiro 4 ah. Xogta qarsoon ee aan ahayn tiro 4 ah ma aha mid sax ah xogta Base64. Marka lagu codayn karo Base64 algorithm, marka codayntu dhammaato, haddii dhererka xogtu aanu ahayn tiro badan oo 4 ah, "=" (equal) character ayaa lagu daraa dhamaadka codaynta ilaa ay ka noqoto 4 dhufasho. Tusaale ahaan, haddii aan haysano xogta 10-xaraf ee Base64 taas oo ka dhalatay codaynta, laba "==" waa in lagu daraa dhammaadka.

Tusaalaha Codaynta Base64

Tusaale ahaan, qaado saddexda lambar ee ASCII 155, 162 iyo 233. Saddexdan nambar waxay sameeyaan qulqul labanlaab ah oo ah 100110111010001011101001. Faylka binary sida sawirku waxa uu ka kooban yahay qulqulka binary kaas oo u shaqeeya tobanaan ama boqollaal kun oo eber iyo kuwo. Codeeyaha Base64 wuxuu ku bilaabmaa inuu u kala qaybiyo qulqulka binary isagoo u kala qaybinaya kooxo lix xaraf ah: 100110 111010 001011 101001. Mid kasta oo ka mid ah kooxahan waxaa loo turjumay tirooyinka 38, 58, 11, iyo 41. Qulqulka binary-ga ee lix xaraf ka kooban ayaa loo beddelaa inta u dhaxaysa binary (ama aasaasiga ah). 2) in loo sameeyo jajab tobanle (sal-10) xarfo iyadoo la isku rogayo qiime kasta oo uu matalo 1 ee array-ga laba-geesoodka ah. Laga bilaabo midigta oo u guurto bidix oo ka bilaabma eber, qiyamka qulqulka binary wuxuu u taagan yahay 2^0, ka dibna 2^1, ka dibna 2^2, ka dibna 2^3, ka dibna 2^4, ka dibna 2^ 5.

Waa kan hab kale oo lagu eego. Laga bilaabo bidixda, boos kastaa waa 1, 2, 4, 8, 16 iyo 32. Haddii boosku leeyahay nambarka binary 1, waxaad ku daraysaa qiimahaas; haddii boosku leeyahay 0, waad maqan tahay. Nidaamka Binary 100110 wuxuu rogaa 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 jajab tobanle + 4 + 0 + 0 + 32. Base64 encoding waxay qaadataa xadhigan binary waxayna u qaybisaa 6-bit qiyamka 38, 58, 11 iyo 41. Ugu dambayntii, tirooyinkan waxa loo rogaa xarfo ASCII iyadoo la isticmaalayo miiska codaynta Base64.