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".
- 155 -> 10011011
- 162 -> 10100010
- 233 -> 11101001
- 100110 -> 38
- 111010 -> 58
- 001011 -> 11
- 101001 -> 41
- 38 -> m
- 58 -> 6
- 11 -> L
- 41 -> p
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 | / |