Base64 Encoding

Miaraka amin'ny fitaovana Base64 Encoding, azonao atao ny manidy ny lahatsoratra ampidirinao amin'ny fomba Base64. Raha tianao dia azonao atao ny mamadika ny kaody Base64 miafina miaraka amin'ny fitaovana Base64 Decode.

Inona no atao hoe Base64 Encoding?

Base64 Encoding dia rafitra fandiovana izay ahafahan'ny angon-drakitra mimari-droa entina amin'ny tontolo izay tsy mampiasa afa-tsy famandrihana tarehintsoratra voafetra (eo amin'ny tontolo izay tsy azo ampiasaina ny kaody tarehintsoratra rehetra, toy ny xml, html, script, fampiharana fandefasana hafatra eo noho eo). Ny isan'ny litera amin'ity rafitra ity dia 64, ary ny isa 64 amin'ny teny Base64 dia avy eto.

Fa maninona no mampiasa Base64 Encoding?

Ny filana ny famandrihana Base64 dia avy amin'ny olana mipoitra rehefa ampitaina amin'ny endrika binary manta mankany amin'ny rafitra mifototra amin'ny lahatsoratra ny fampitam-baovao. Satria ny rafitra mifototra amin'ny lahatsoratra (toy ny mailaka) dia mandika ny angon-drakitra mimari-droa ho tarehintsoratra midadasika, ao anatin'izany ny tarehin-tsoratra baiko manokana, ny ankamaroan'ny angon-drakitra mimari-droa ampitaina amin'ny fampitam-baovao dia diso adika avy amin'ireo rafitra ireo ary very na simba amin'ny fampitana. dingana.

Ny fomba iray amin'ny famadihana angon-drakitra mimari-droa toy izany amin'ny fomba hisorohana ny olana amin'ny fifindrana toy izany dia ny fandefasana azy ireo ho lahatsoratra ASCII tsotra amin'ny endrika voakodia Base64. Ity dia iray amin'ireo teknika ampiasain'ny fenitra MIME handefasana angona ankoatra ny lahatsoratra tsotra. Maro ny fiteny fandaharana, toy ny PHP sy Javascript, ahitana ny Base64 coding sy decoding asa mba handika ny angona nampitaina mampiasa Base64 coding.

Base64 Encoding Logic

Ao amin'ny Base64 encoding, 3 * 8 bit = 24 bits of data misy 3 bytes dia mizara ho vondrona 4 misy 6 bits. Ireo tarehintsoratra mifanitsy amin'ny sanda desimal eo anelanelan'ny [0-64] amin'ireo vondrona 6-bit 4 ireo dia ampifandraisina amin'ny tabilao Base64 mba hadika. Ny isan'ny tarehintsoratra azo avy amin'ny kaody Base64 dia tokony ho maromaro amin'ny 4. Ny angona voakodia izay tsy maromaro amin'ny 4 dia tsy manan-kery Base64 data. Rehefa mandika miaraka amin'ny algorithm Base64, rehefa vita ny famadihana, raha toa ka tsy in-4 ny halavan'ny angona, dia ampiana amin'ny faran'ny famadihana ny toetran'ny "=" (mitovy) mandra-pahatongan'ny isa 4. Ohatra, raha manana angon-drakitra voakodia Base64 misy tarehin-tsoratra 10 vokatry ny fandrakofana, dia tokony hampiana "==" roa ny farany.

Ohatra Encoding Base64

Raiso, ohatra, ny isa telo ASCII 155, 162 ary 233. Ireo isa telo ireo dia mamorona stream binary ny 100110111010001011101001. Ny rakitra mimari-droa toy ny sary dia misy stream mimari-droa miasa ho an'ny aotra ampolony na ana hetsiny. Ny encoder Base64 dia manomboka amin'ny fizarana ny renirano mimari-droa ho vondrona misy tarehintsoratra enina: 100110 111010 001011 101001. Ny tsirairay amin'ireo vondrona ireo dia adika amin'ny isa 38, 58, 11, ary 41. Ny stream mimari-droa misy tarehintsoratra enina dia avadika eo anelanelan'ny binary (na fototra). 2) amin'ny tarehintsoratra desimal (base-10) amin'ny fametahana ny sanda tsirairay asehon'ny 1 ao amin'ny laharan-droa mimari-droa amin'ny alàlan'ny efamira misy toerana. Manomboka amin'ny havanana ary miankavia ary manomboka amin'ny aotra, ny soatoavina ao amin'ny stream binary dia maneho 2^0, avy eo 2^1, avy eo 2^2, avy eo 2^3, avy eo 2^4, avy eo 2^ 5.

Ity misy fomba hafa hijerena azy. Manomboka eo ankavia, ny toerana tsirairay dia mendrika 1, 2, 4, 8, 16 ary 32. Raha manana isa mimari-droa 1 ny slot dia ampianao io sanda io; raha manana 0 ny slot dia tsy hita ianao. Ny array binary 100110 dia miova ho 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. Ny kaody Base64 dia maka ity tady mimari-droa ity ary mizara azy ho sanda 6-bit 38, 58, 11 ary 41. Farany, ireo isa ireo dia avadika ho tarehintsoratra ASCII amin'ny fampiasana ny tabilao fanakonana Base64.