Mar a tha Base64 Encoding Works

Mas e an t-eadar-lìon an t-slighe fiosrachaidh, is e an rathad airson post-dealain caolas cumhang. Chan eil ach cairtean glè bheag comasach air a dhol seachad.

Tha an siostam còmhdhail post-dealain air a dhealbh airson teacsa sìmplidh ASCII a-mhàin. Tha e a 'feuchainn ri teacsa a chuir a-steach ann an cànanan eile no faidhlichean meadhanach coltach ri bhith a' faighinn truck tron ​​chladach.

Ciamar a tha an Big Truck a 'dol tro the Ravine?

An uairsin ciamar a chuireas tu truca mhòr tro chladach bheag? Feumaidh tu a thoirt gu pìosan air an aon cheann, na pìosan a ghiùlan tron ​​chladach, agus ath-thogail an trucaig bho na pìosan air a 'cheann eile.

Bidh an aon rud a 'tachairt nuair a chuireas tu faidhle a - steach tro phost-dealain . Ann am pròiseas air a bheil encodadh, bidh an dàta dàta air a thionndadh gu teacsa ASCII, a ghabhas gluasad ann am post-dealain gun duilgheadasan. Air deireadh an neach a gheibh an neach-clàraidh, thèid an dàta a dhì-cho-dhùnadh agus thèid am faidhle tùsail ath-thogail.

Is e aon dhòigh airson encodadh dàta neo-ionnan mar teacsa sìmplidh ASCII Base64. Is e aon de na dòighean a tha air am fastadh leis an t-sreath MIME airson dàta a chur seachad a bharrachd air teacsa sìmplidh .

Base64 chun an teasairginn

Tha còdachadh base64 a 'toirt trì beataichean, gach aon dhiubh ochd notaichean, agus gan riochdachadh mar cheithir charactaran clò-bhualadh anns an inbhe ASCII. Bidh e a 'dèanamh sin ann an dà cheum gu ìre mhòr.

Is e a 'chiad cheum trì beataichean a thionndadh gu ceithir àireamhan de shia pìosan. Tha gach caractar anns an inbhe ASCII a 'toirt a-steach seachd pìosan. Chan eil base64 a 'cleachdadh 6 bits (a fhreagras ri 2 ^ 6 = 64 caractaran) gus dèanamh cinnteach gu bheil dàta a chaidh a chòdachadh air a chlò-bhualadh agus a leughadh gu daonna. Chan eil gin de na caractaran sònraichte a tha rim faotainn ann an ASCII air an cleachdadh.

Tha na 64 caractaran (mar sin an t-ainm Base64) 10 cuibhrichean, 26 caractaran beaga, 26 prìomh charactaran a bharrachd air '+' agus '/'.

Mas e, mar eisimpleir, na trì beataichean 155, 162 agus 233, is e an t-sreath bheag co-fhreagairt (agus eagallach) 100110111010001011101001, a tha an uair sin a 'freagairt ris na luachan 6-bit 38, 58, 11 agus 41.

Tha na h-àireamhan sin air an tionndadh gu caractaran ASCII san dàrna ceum a 'cleachdadh clàr còdachadh Base64. Tha luachan 6-bit ar n-eisimpleir ag eadar-theangachadh gu sreath ASCII "m6Lp".

Tha am pròiseas dà-cheum seo air a chur an sàs ann an sreath iomlan nam beitean a chaidh a chòdachadh. Gus dèanamh cinnteach gu bheil an dàta a chaidh a chòdachadh air a chlò-bhualadh gu ceart agus nach eil a 'dol thairis air cuingeall loidhne loidhne an neach-frithealaidh puist, tha caractaran ùra air an cur a-steach gus fad loidhne a chumail fo 76 caractaran. Tha na caractaran ùra air an seòrsachadh mar a h-uile dàta eile.

Fuasgladh a 'Chinn-chinnidh

Aig deireadh a 'phròiseis chòdachadh, dh'fhaodadh gum bi sinn a' dol a-steach do dhuilgheadas. Ma tha meud an dàta tùsail ann am bytes na iomad de thrì, bidh a h-uile càil ag obair gu math. Mura h-eil e, is dòcha gum bi sinn a 'leantainn le aon no dhà de 8-bit bytes. Airson còdachadh ceart, feumaidh sinn dìreach trì bytes ach, ge-tà.

Is e am fuasgladh a bhith a 'cur ri tote gu leòr le luach' 0 'gus buidheann 3-byte a chruthachadh. Tha dà luachan mar sin air an cur ri chèile ma tha aon bhileag eile de dhàta againn, tha aon air a chur ri chèile airson dà bhuille eile.

Gun teagamh, cha ghabh na h-innealan casta seo '0's a chòdachadh le bhith a' cleachdadh a 'chlàr gu h-ìosal. Feumaidh iad a bhith air an riochdachadh le 65mh caractar.

Is e caractar gleidhidh Base64 '='. Gu nàdarra, chan fhaod e a-riamh nochdadh aig deireadh dàta a chaidh a chòdachadh.

Clàr Encoding Base64

Luach Char Luach Char Luach Char Luach Char
0 A 16 C 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 Mise 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 /