Base64 Encoding

Uban sa Base64 Encoding tool, mahimo nimong i-encrypt ang teksto nga imong gisulod gamit ang Base64 nga pamaagi. Kung gusto nimo, mahimo nimong i-decode ang naka-encrypt nga Base64 code gamit ang Base64 Decode tool.

Unsa ang Base64 Encoding?

Ang Base64 Encoding kay usa ka encoding scheme nga nagtugot sa binary data nga madala sa mga environment nga naggamit lang ug pipila ka restricted character encodings (mga palibot diin dili tanang character codes mahimong gamiton, sama sa xml, html, script, instant messaging applications). Ang gidaghanon sa mga karakter niini nga laraw mao ang 64, ug ang numero 64 sa pulong Base64 gikan dinhi.

Nganong Gamiton ang Base64 Encoding?

Ang panginahanglan alang sa Base64 nga pag-encode naggikan sa mga problema nga mitungha kung ang media gipasa sa hilaw nga binary nga format ngadto sa mga sistema nga nakabase sa teksto. Tungod kay ang text-based nga mga sistema (sama sa e-mail) naghubad sa binary data isip usa ka halapad nga han-ay sa mga karakter, lakip na ang mga espesyal nga command character, kadaghanan sa binary data nga gipasa ngadto sa transfer medium sayop nga gihubad niini nga mga sistema ug nawala o nadaot sa transmission. proseso.

Usa ka paagi sa pag-encode sa maong binary data sa paagi nga makalikay sa maong mga problema sa transmission mao ang pagpadala niini isip plain ASCII text sa Base64 encoded format. Usa kini sa mga teknik nga gigamit sa sumbanan sa MIME sa pagpadala ug datos gawas sa yano nga teksto. Daghang mga programming language, sama sa PHP ug Javascript, naglakip sa Base64 encoding ug decoding functions aron mahubad ang data nga gipadala gamit ang Base64 encoding.

Base64 Encoding Logic

Sa Base64 encoding, 3 * 8 bits = 24 bits sa data nga naglangkob sa 3 bytes gibahin ngadto sa 4 ka grupo sa 6 bits. Ang mga karakter nga katumbas sa mga kantidad sa desimal tali sa [0-64] niining 4 nga 6-bit nga mga grupo gipares gikan sa lamesa sa Base64 aron ma-encode. Ang gidaghanon sa mga karakter nga nakuha isip resulta sa Base64 encoding kinahanglan nga usa ka multiple sa 4. Ang na-encode nga datos nga dili multiple sa 4 dili balido nga Base64 data. Kung ang pag-encode gamit ang Base64 algorithm, kung kompleto na ang pag-encode, kung ang gitas-on sa data dili usa ka multiple sa 4, ang "=" (parehas) nga karakter idugang sa katapusan sa pag-encode hangtod kini usa ka multiple sa 4. Pananglitan, kung kita adunay 10-karakter nga Base64 nga naka-encode nga datos isip resulta sa pag-encode, duha ka "==" ang kinahanglan idugang sa katapusan.

Pananglitan sa Pag-encode sa Base64

Pananglitan, kuhaa ang tulo ka numero sa ASCII 155, 162 ug 233. Kining tulo ka numero nagporma ug binary stream nga 100110111010001011101001. Ang binary file sama sa usa ka imahen adunay usa ka binary stream nga magamit sa napulo o gatusan ka libo nga mga zero ug usa. Ang Base64 encoder magsugod pinaagi sa pagbahin sa binary stream ngadto sa mga grupo sa unom ka karakter: 100110 111010 001011 101001. Ang matag usa niini nga mga grupo gihubad ngadto sa mga numero 38, 58, 11, ug 41. Usa ka unom ka karakter nga binary nga sapa ang nakabig taliwala sa binary (o sukaranan). 2) ngadto sa decimal (base-10) nga mga karakter pinaagi sa pagkuwadrado sa matag bili nga girepresentahan sa 1 sa binary array pinaagi sa positional square. Sugod gikan sa tuo ug mobalhin sa wala ug magsugod sa zero, ang mga bili sa binary stream nagrepresentar sa 2^0, unya 2^1, unya 2^2, unya 2^3, unya 2^4, unya 2^ 5.

Ania ang laing paagi sa pagtan-aw niini. Sugod sa wala, ang matag posisyon nagkantidad og 1, 2, 4, 8, 16 ug 32. Kung ang slot adunay binary nga numero 1, imong idugang kana nga kantidad; kung ang slot adunay 0, nawala ka. Binary array 100110 turns 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. Ang base64 encoding nagkuha niining binary string ug gibahin kini sa 6-bit values ​​38, 58, 11 ug 41. Sa katapusan, kini nga mga numero gi-convert sa ASCII nga mga karakter gamit ang Base64 encoding table.