64-uma kodoprezento

64-uma kodoprezento (angle: Base64) estas metodo kodi duumajn informojn per 64 «ciferoj». Ĝi utilas por sendi tiajn informojn per retpoŝto, laŭ la normo MIME.

La motivo por uzi la 64-uman kodoprezenton estas, ke la retpoŝta normo SMTP (kaj rezulte multaj retpoŝtaj programoj) ne permesas aŭ iam ne permesis liberan uzon de ĉiuj eblaj 256 bitokoj; al la nepermesataj aŭ problemaj bitokoj apartenas la signonumeroj 0–32 kaj 127–255. Restas do nur 94 sekuraj signoj, la signoj de Askio escepte de stirsignoj, spaceto kaj abolsigno. El tiuj signoj oni elektis la sortimenton da ciferoj uzataj por 64-uma kodoprezento.

Laŭ 64-uma kodoprezento oni unue vicigas ĉiujn bitojn en la sendotaj datenoj, ignorante la limojn inter la bitokoj. La vicon oni dividas je grupoj de po ses bitoj kaj ĉiun grupon oni kodas per 64-uma cifero, laŭ jena tabelo:

Valoro Signo
0 A
1 B
25 Z
26 a
51 z
52 0
61 9
62 + (aŭ - por ekz. retadresoj)
63 / (aŭ _ por ekz. retadresoj)

Ĉiuj uzataj signoj disponeblas ankaŭ en la signaro EBCDIC, kiun iam uzis multaj komputilegoj.

Se la nombro de bitokoj ne estas dividebla per 3, ne eblas ekzakte dividi la vicon en grupojn po 6 bitoj. Tiuokaze oni aldonas unu aŭ du bitokojn kun valoro 0, por igi ilian nombron dividebla per 3. La nombron de aldonitaj bitokoj oni markas per aldono de egala nombro da egalsignoj. Fine de mesaĝo 64-ume kodita povas do esti 0, 1 aŭ 2 egalosignoj.

Ĉar retpoŝtaj sistemoj ofte havas limon pri la longeco de linioj, oni post po 76 signoj enmetas liniŝanĝon.

Ĉe 64-uma kodoprezento la grandeco de datenoj kreskas proksimume je la faktoro 1,368.