Indlela ye-Basic64 Encoding Works

Ukuba i-intanethi yindlela yolwazi lendlela, ke umendo we-imeyile ungumlambo omncinci. Iinqwelo ezincinane kakhulu zinokudlula.

Inkqubo yokuthutha i-imeyile yenzelwe i-ASCII itekisi kuphela. Ukuzama ukuthumela itekisi kwezinye iilwimi okanye iifayile ezingabonakaliyo kufana nokufumana iloli kwi-ravine.

Inkulu Iilori Ihamba Njani Ngomkhosi?

Ngaba uyithumela njani iloli elikhulu ngokusebenzisa intlambo encinci? Kufuneka uthathe izicucu ekupheleni kwesinye, uthumele iziqwenga ngomlambo, uphinde wakha iloli ukusuka kwezinye izicwangciso.

Kwenzeka okufanayo xa uthumela ifayile yokunamathisela nge-imeyili . Kwinkqubo eyaziwa ngokuthi ukudibanisa idatha yebhanari iguqulwa ibe yombhalo we-ASCII, ongathunyelwa kwi-imeyili ngaphandle kweengxaki. Ekupheleni kommkeli, idatha ichongiwe kwaye ifayile yasekuqaleni iyakhiwa kwakhona.

Enye indlela yokudibanisa idatha engabonakaliyo njengombhalo ocacileyo we-ASCII yi-Base64. Ngenye yezindlela eziqeshwe ngumgangatho we-MIME ukuthumela idatha ngaphandle kweetekisi ezicacileyo .

Base64 ukuya kuNcedo

I-encoding ye-Base64 ithatha ii-bytes ezintathu, ngasinye sinamabhozo asibhozo, kwaye simele sibe ngabalingisi abane abashicilelweyo kwi-ASCII standard. Yenza loo nto ngamanyathelo amabini.

Isinyathelo sokuqala kukuguqula ii-bytes ezintathu ukuya kumanani amane amabhethi ayisithandathu. Umlingisi ngamnye kumgangatho we-ASCII uqulethe izibini ezisixhenxe. I-Base64 isebenzisa kuphela ii-bits ezi-6 (ezihambelana no-2 ^ 6 = = iifayili ezingama-64) ukuqinisekisa ukuba idatha ekhowudiweyo iprintwa kwaye ifundwa ngabantu. Akukho namnye abalinganiswa abakhethekileyo abafumaneka kwi-ASCII asetyenziswayo.

Iimpawu ezingama-64 (ngoko ke igama elithi Base64) liyidijithi ezili-10, abalinganiswa abangaphantsi kwe-26, abalinganiswa abangama-26 kunye kunye '+' kunye '/'.

Ukuba umzekelo, ii-bytes ezintathu ziyi-155, 162 kunye ne-233, umfudlana ohambelanayo (kunye noyikisayo) ngowama-100110111010001011101001, ohambelana nexabiso le-6-bit, 38, 11 no-41.

Ezi manani ziguqulwa kwiibalo ze-ASCII kwisinyathelo sesibini usebenzisa itafile ye-encoding yeBase64. Imilinganiselo ye-6-bit yomzekelo wethu iguqulela ukulandelelana kwe-ASCII "m6Lp".

Le nqubo yezinyathelo ezimbini isetyenziswe kulandelelwano olupheleleyo lweetes ezifakwe kwiikhowudi. Ukuqinisekisa ukuba idatha echanekileyo ingashicilelwa ngokufanelekileyo kwaye ayidluli naliphi na umda wexesha lomgca weposi, abalinganiswa abatsha bafakwe ukugcina ubude bomgca ngaphantsi kweelwimi ezingama-76. Abalinganiswa bemihla bafakwe ngekhowudi njengazo zonke ezinye iinkcukacha.

UkuSombulula i-Endgame

Ekupheleni kwenkqubo yokudibanisa, sinokungena kwiingxaki. Ukuba ubuninzi beenkcukacha zangaphambili kwi-bytes buninzi bezinto ezintathu, yonke into isebenza kakuhle. Ukuba akunjalo, sinokuphelisa nge-bytes ezimbini. Ukufakela ngekhowudi efanelekileyo, sidinga ngokulandelelanayo i-bytes ezintathu, nangona kunjalo.

Isisombululo kukuxhaswa ngama-bytes anele ngexabiso '0' ukudala iqela le-3-byte. Iimilinganiselo ezibini ezinjalo zixhaswa ukuba sinayo enye ye-byte eyongezelelweyo yedatha, enye ifakwe kwi-bytes ezimbini ezongezelelweyo.

Ewe, ezi zilandelayo 'ezi-0' azikwazi ukubhalwa ngekhowudi ngokusebenzisa itafile yekhowudi engezantsi. Kumele ukuba bamelwe ngumlingiswa we-65.

Isalathisi se-Base64 se-padding '='. Ngokuqhelekileyo, inokuvela kuphela ekupheleni kwedatha ekhowudiweyo.

Itheyibhile yeCode64 yokuCwangcisa

Xabiso Char Xabiso Char Xabiso Char Xabiso 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 Mna 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 / U