Conas Oibreacha Ionchódú Base64

Más é an t-idirlíon an mhórbhealaigh faisnéise, is é an bealach chun ríomhphoist an caolán caol. Ní féidir le cairteacha an-bheag pas a fháil.

Dearadh an córas iompair ríomhphoist le haghaidh téacs simplí ASCII amháin. Ag iarraidh téacs a sheoladh i dteangacha eile nó comhaid threallach, is cosúil le trucail a fháil tríd an rabhainn.

Conas a théann an Big Truck tríd an Ravine?

Ansin, cén chaoi a gcuireann tú trucail mhór trí rothán beag? Caithfidh tú a chur chuig píosaí ar an taobh amháin, na píosaí a iompar tríd an rabhainn, agus an trucail a ath-athchóiriú ó na píosaí ar an taobh eile.

Tarlaíonn an rud céanna nuair a sheolann tú comhad ceangailte trí ríomhphost . I bpróiseas ar a dtugtar ionchódú, déantar na sonraí dénártha a chlaochlú go téacs ASCII, ar féidir iad a iompar ar ríomhphost gan fadhbanna. Ar deireadh an fhaighteora, déantar na sonraí a dhíchódú agus athchorpraítear an comhad bunaidh.

Is é Modh64 modh amháin ionchódú sonraí treallach mar théacs ASCII simplí. Tá sé ar cheann de na teicnící atá fostaithe ag an gcaighdeán MIME chun sonraí seachas téacs simplí a sheoladh.

Base64 chun an Tarrthála

Tógann ionchódú Base64 trí bhile, gach ceann de ocht giotán, agus léiríonn sé iad mar cheithre charachtar inphriontáilte sa chaighdeán ASCII. Déanann sé sin go bunúsach dhá chéim.

Is é an chéad chéim ná trí bhile a thiontú go ceithre uimhir de shé ghiotán. Tá seacht giotán i ngach carachtar sa chaighdeán ASCII. Úsáideann Base64 ach 6 giotán (a fhreagraíonn do 2 ^ 6 = 64 carachtar) chun a chinntiú go bhfuil sonraí ionchódaithe inphriontáilte agus inléite go daonna. Ní úsáidtear aon cheann de na carachtair speisialta atá ar fáil in ASCII.

Is iad na 64 carachtair (dá bhrí sin an t-ainm Base64) ná 10 dhigit, 26 carachtar íochtarach, 26 carachtar uachtair chomh maith le '+' agus '/'.

Más mar shampla, is iad na trí bhileog ná 155, 162 agus 233, is é an sruth giotán comhfhreagrach (agus scanrúil) ná 100110111010001011101001, rud a fhreagraíonn do luachanna 6-giotán 38, 58, 11 agus 41.

Déantar na huimhreacha sin a thiontú go carachtair ASCII sa dara céim ag baint úsáide as an tábla ionchódú Base64. Aistrítear luachanna 6-giotán ár sampla go dtí an t-ord ASCII "m6Lp".

Cuirtear an próiseas dhá chéim seo i bhfeidhm ar an seicheamh iomlán de bytes atá ionchódaithe. Chun a áirithiú go bhféadfar na sonraí ionchódaithe a chlóbhuailte agus nach rachaidh siad thar aon teorainn fhadlíne aon fhreastalaí ríomhphoist, cuirtear carachtair nualíne isteach chun fadlíne a choinneáil faoi bhun 76 carachtar. Tá na carachtair nualíne ionchódaithe mar gach sonraí eile.

Ag Réiteach an Deiridh

Ag deireadh an phróisis ionchódaithe, d'fhéadfadh muid a bheith ina fhadhb. Má tá méid na sonraí bunaidh i bytes iolrach de thrí, oibríonn gach rud go breá. Mura bhfuil sé seo, d'fhéadfadh muid a bheith ar bun le ceann amháin nó dhá bhileog 8-giotán. Chun ionchódú cuí, ní mór dúinn go díreach trí bhileog, áfach.

Is é an réiteach ná go gcuirfí go leor bytes le luach '0' chun grúpa 3-byte a chruthú. Tá dhá luachan den sórt sin curtha le chéile má tá aon bhileog bhreise amháin againn, tá ceann amháin ag gabháil le dhá bytes bhreise.

Ar ndóigh, ní féidir na huaireanna '0s' seo a ionchódú trí úsáid a bhaint as an tábla ionchódú thíos. Caithfidh 65ú carachtar a bheith acu.

Is é carachtar pading Base64 '='. Ar ndóigh, níl sé le feiceáil riamh ag deireadh na sonraí ionchódaithe.

Tábla Ionchódú Base64

Luach Char Luach Char Luach Char Luach 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 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 /