Isebenza kanjani i-Base64 Encoding Works

Uma i-intanethi yindlela emgwaqeni yolwazi, khona-ke indlela ye-imeyli ingumfula omncane. Amalothi amancane kuphela angadlula.

Uhlelo lokuthutha lwe-imeyli lwenzelwe umbhalo ocacile we-ASCII kuphela. Ukuzama ukuthumela umbhalo kwezinye izilimi noma amafayili okungahambisani nawo kufana nokuthola iloli emgwaqeni.

I-Truck Big Ihamba Kanjani Ngodonga?

Khona-ke uthumela kanjani iloli elikhulu ngokusebenzisa intaba encane? Kumele uthathe izicucu ekugcineni, uhambise izingcezu phakathi komfula, uphinde wakha iloli kusuka ezicucini ngakolunye uhlangothi.

Okufanayo kwenzeka uma uthumela okunamathiselwe kwefayela nge-imeyili . Enkambweni eyaziwa ngokuthi ikhodi yedatha kanambambili ishintshelwe kumbhalo we-ASCII, ongathunyelwa nge-imeyili ngaphandle kwezinkinga. Ekupheleni komamukeli, idatha ikhonjisiwe futhi ifayela lokuqala liyakhiwe kabusha.

Enye indlela yokufaka idatha ekhonjisiwe njengombhalo ocacile we-ASCII yi-Base64. Ngenye yezinkambiso ezisebenziselwe izinga elijwayelekile le- MIME ukuthumela idatha ngaphandle kombhalo ocacile .

I-Base64 eya ekukhululweni

I-Base64 encoding ithatha ama-byte amathathu, ngalinye eliqukethe izinkinobho eziyisishiyagalombili, futhi limelela njengezinhlamvu ezine eziphrinta kwizinga le-ASCII. Lokhu kwenza lokho ngokubili izinyathelo ezimbili.

Isinyathelo sokuqala ukuguqula ama-byte amathathu kuya ezinombolweni ezine zezinkinobho eziyisithupha. Umlingisi ngamunye kwizinga le-ASCII liqukethe izinhlamvu eziyisikhombisa. I-Base64 isebenzisa kuphela ama-bits angu-6 (afana no-2 ^ 6 = izinhlamvu ezingu-64) ukuqinisekisa ukuthi ikhodi encoded ishicilelwa futhi ifundwa ngabantu. Azikho izinhlamvu ezikhethekile ezitholakalayo ku-ASCII ezisetshenzisiwe.

Izinhlamvu ezingu-64 (ngakho-ke igama elithi Base64) liyizinombolo ezingu-10, izinhlamvu ezingaphansi ezingu-26, izinhlamvu ezingu-26 ezinkulu kanye ne-'+' kanye '/'.

Uma isibonelo, ama-bytes amathathu angama-155, 162 no-233, ukusakaza okuhambelanayo (nokwesabisa) okungu-100110111010001011101001, okufanayo okuhambisana namanani angu-6-bit 38, 58, 11 no-41.

Lezi zinombolo ziguqulwa zibe yizinhlamvu ze-ASCII esiteji sesibili usebenzisa ithebula lekhodi ye-Base64. Amagugu angu-6-bit wesibonelo sethu ahumusha ekulandeleni kwe-ASCII "m6Lp".

Le nqubo yezinyathelo ezimbili isetshenziselwa ukulandelana konke kwama-bytes okufakwe ikhodi. Ukuze uqinisekise ukuthi idatha ekhonjiwe inganyatheliswa kahle futhi ayidluli noma yikuphi umkhawulo wamakamelo we-mail server, izinhlamvu ezintsha zifakiwe ukugcina ubude bomugqa ngaphansi kwezinhlamvu ezingu-76. Izinhlamvu ezintsha zifakwe ikhodi njengamanye eminye idatha.

Ukuxazulula i-Endgame

Ekupheleni kwenqubo yokufaka ikhodi, singase singene enkingeni. Uma ubukhulu bemininingwane yangempela ngama-bytes buyi-multiple of three, konke kusebenza kahle. Uma kungenjalo, singase sigcine nge-bytes eyodwa noma amabili. Ukuze ufake ikhodi efanele, sidinga ngokuqondile ama-byte amathathu, noma kunjalo.

Isixazululo ukufaka ama-bytes anenani ngenani le- '0' ukwakha iqembu le-3-byte. Amagugu amabili anjalo ahlanganiswa uma sinesidingo esisodwa sedatha, enye ifakwe nge-bytes amabili engeziwe.

Yiqiniso, lezi zindlela zokufakelwa ezenzakalelayo ezingu-0 azikwazi ukufakwa ikhodi esebenzisa ithebula lokufaka ikhodi ngezansi. Kumelwe zimelelwe umlingiswa we-65.

Umlingisi we-Base64 we-padding uwukuthi '='. Ngokuvamile, kungabonakala kuphela ekupheleni kwedatha ekhonjiwe.

Ithebula lokubhala le-Base64

Inani Char Inani Char Inani Char Inani Char
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 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 n 55 3
8 I 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 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /