Bawo ni Base64 Iṣẹ Ṣiṣeko

Ti intanẹẹti jẹ alaye ọna, lẹhinna ọna fun imeeli jẹ odò gbigbọn kekere. Awọn ọkọ kekere kekere le ṣe.

Eto eto irin-ajo ti imeeli ti ṣe apẹrẹ fun ọrọ ọrọ ASCII ti o sunmọ. Gbiyanju lati fi ọrọ ranṣẹ ni awọn ede miiran tabi awọn faili alailẹgbẹ jẹ bi gbigbe ọkọ nla kan nipasẹ odò.

Bawo ni Ńlá Ńlá Ńlá Nipasẹ Ọgbà Ajara?

Nigbana ni bawo ni o ṣe fi ọkọ nla kan ranṣẹ nipasẹ odo kekere kan? O ni lati gbe e si awọn ege lori opin kan, gbe awọn ege nipasẹ inu afonifoji, ki o si tun ọkọ ikoja naa lati awọn ege lori opin miiran.

Kanna ṣe nigbati o ba fi asomọ faili ranṣẹ nipasẹ imeeli . Ninu ilana ti a mọ bi aiyipada koodu alakomeji ti yipada si ọrọ ASCII, eyi ti a le gbe ni imeeli laisi awọn iṣoro. Lori opin opin olugba, a ti yan data naa ati pe atunkọ faili ti tun.

Ọna kan ti aiyipada koodu aifọwọyi bi ọrọ ASCII ti o jẹ base64. O jẹ ọkan ninu awọn imuposi ti o ṣe deede nipasẹ Ilana MIME lati firanṣẹ data miiran ju ọrọ ti o ṣaju lọ .

Base64 si Igbala

Iyipada aiyipada Base64 gba awọn onita mẹta, ọkọọkan ti o ni awọn idinku mẹjọ, o si duro fun wọn gẹgẹbi awọn ohun kikọ ti a le ni mẹrin ni boṣewa ASCII. O ṣe eyi ni awọn igbesẹ pataki meji.

Igbese akọkọ ni lati yi iyipada mẹta si awọn nọmba mẹrin ti awọn idinku mẹfa. Kọọkan kọọkan ninu boṣewa ASCII ni awọn idinku meje. Base64 nikan lo 6 awọn idinku (bamu si 2 * 6 = 64 awọn lẹta) lati rii daju pe awọn koodu ti a fi ṣafọtọ ni a le ṣelọpọ ati pe o le ṣeé ṣe fun eniyan. Ko si ọkan ninu awọn lẹta pataki ti o wa ni ASCII ni a lo.

Awọn lẹta 64 (nibi ti orukọ Base64) jẹ awọn nọmba 10, 26 awọn lẹta kekere, 26 awọn lẹta hypercase ati "+" ati "/".

Ti o ba jẹ apẹẹrẹ, awọn adiitu mẹta ni 155, 162 ati 233, sisan ti o bamu (ati ẹru) jẹ 100110111010001011101001, eyi ti o ni ibamu si awọn ipo 6-bit 38, 58, 11 ati 41.

Awọn nọmba wọnyi wa ni iyipada si awọn ohun kikọ ASCII ni ipele keji pẹlu lilo tabili iyipada koodu Base64. Awọn ipo 6-bit ti apẹẹrẹ wa ṣe itumọ si ọna ASCII "m6Lp".

Igbesẹ meji-igbesẹ yii ni a ṣe lo si gbogbo awọn idibajẹ ti a ti yipada. Lati rii daju pe awọn koodu ti a ti yipada ni a le firanṣẹ daradara ati pe ko kọja eyikeyi ipari ti ila olupin ti a fi imeeli ranṣẹ, a fi awọn ohun kikọ tuntun pada lati tọju awọn ipari ila ni isalẹ awọn ohun kikọ 76. Awọn ohun kikọ tuntun ti wa ni aiyipada bi gbogbo data miiran.

Ṣiṣe ipari Endgame

Ni opin ilana ilana aiyipada, a le ṣiṣẹ sinu iṣoro kan. Ti iwọn awọn data atilẹba ni awọn pariti jẹ nọmba ti mẹta, ohun gbogbo ṣiṣẹ daradara. Ti ko ba jẹ bẹ, a le pari pẹlu awọn ayẹkan 8-bit tabi ọkan. Fun aiyipada koodu aifọwọyi, a nilo awọn idiwọn mẹta mẹta, sibẹsibẹ.

Ojutu ni lati ṣe awọn adakọ ti o yẹ pẹlu iye ti '0' lati ṣẹda ẹgbẹ 3-byte. Awọn nọmba meji bẹẹ ni a ṣe afikun si ti a ba ni atẹjade afikun ti data, ọkan ni a fi kun fun awọn aarọ afikun miiran.

Dajudaju, awọn itọnisọna artificial '0 ko le yipada nipa lilo tabili aiyipada ni isalẹ. Wọn gbọdọ wa ni ipoduduro nipasẹ awọn ohun kikọ 65th.

Ijẹrisi padding Base64 jẹ '='. Nitõtọ, o le nikan han ni opin data ti a fi koodu pa.

BaseFod Table Table

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