Base32

A Base32 egy olyan adatkódolási módszer, amely a bináris adatokat ember által olvasható karakterekből álló szimbólumok sorozatává alakítja át. Ezen kódolási módszer célja, hogy a bináris adatokat olyan formában reprezentálja, amely könnyen kezelhető és továbbítható például szöveges üzenetekben vagy URL-ekben.

Előnyök

[szerkesztés]

A Base32 számos előnnyel rendelkezik a Base64-hez képest:

  1. Az adott karakterkészlet minden karakterét egyazon nagy- vagy kisbetűs formában találhatjuk meg, ami sok esetben előnyös lehet olyankor, amikor egy olyan fájlrendszert használunk, ami nem különbözteti meg a kis- és nagybetűket, domain neveket (DNS), beszélt nyelvet vagy emberi emlékezetet.
  2. Az eredményt lehet fájlnévként használni, mivel lehetetlen, hogy tartalmazza a '/' szimbólumot, ami az Unix útválasztó karaktere.
  3. Az ábécé kiválasztható úgy, hogy elkerülje a hasonló kinézetű különböző szimbólumokat, így a karakterláncok kézzel pontosan átírhatók. (Például az RFC 4648 szimbólumkészlet kihagyja az egyest, nyolcast és nullát, mivel összetéveszthetők az 'I', 'B' és 'O' betűkkel.)

Hátrányok

[szerkesztés]

A Base32 reprezentációhoz kb. 20%-kal több helyre van szükség, mint a Base64 esetén. Emellett azért, mert 5 bájtot 8 karakterre kódol (szemben a 3 bájtról 4 karakterre történő kódolással a Base64-ben), a 8 karakteres határhoz való kitöltés nagyobb terhet ró rövid üzenetekre (ami indok lehet a kitöltés mellőzésére, amely egy lehetőség az RFC 4648 szerint).

A Base64 és Base32 jelölések hossza a bináris adat méretének százalékos arányában
Base64 Base32
8 bites 133% 160%
7 bites 117% 140%

RFC 4648 Base32 ábécé

[szerkesztés]

A leggyakrabban használt Base32 ábécé az RFC 4648[1] vagy a korábbi RFC 3548[2]-ban van meghatározva, melyet eredetileg John Myers tervezett a SASL/GSSAPI számára. A Base32 karakterkészlete[3] A-tól Z-ig tart, majd a 2-től 7-ig. A 0, 1 és 8 számjegyek kimaradnak, mivel könnyen összekeverhetőek az O, I és B betűkkel.

A Base32 karakterkészlete
Érték Szimbólum Érték Szimbólum Érték Szimbólum Érték Szimbólum
0 A 8 I 16 K 24 Y
1 B 9 J 17 R 25 Z
2 C 10 K 18 S 26 2
3 D 11 L 19 T 27 3
4 E 12 M 20 U 28 4
5 F 13 N 21 V 29 5
6 G 14 O 22 W 30 6
7 H 15 P 23 x 31 7
kiegészítés =

Alternatív változatok

[szerkesztés]

A Base32 ábécé megváltoztatásakor az összes alternatív szabvány hasonló kombinációkat használ az alfanumerikus szimbólumokból.

Z-Base-32

[szerkesztés]

A Z-Base-32 egy Base32 kódolás, amit Zooko Wilcox-O'Hearn tervezett az emberi használat könnyítése és a kompaktabb tárolás érdekében. Tartalmazza az 1, 8 és 9 számjegyeket, de kihagyja az "l", "v" és "2" karaktereket. Az ábécé sorrendjét is átrendezte, hogy az egyszerűbben felismerhető karakterek gyakrabban előforduljanak. Hatékonyabban kódol olyan bitláncokat, amelyek hossza nem többszöröse 8-nak, és a végén lévő kitöltő karaktereket is elhagyja.

A Z-Base-32 karakterkészlete
Érték Szimbólum Érték Szimbólum Érték Szimbólum Érték Szimbólum
0 y 8 e 16 o 24 a
1 b 9 j 17 t 25 3
2 n 10 k 18 1 26 4
3 d 11 m 19 u 27 5
4 r 12 c 20 w 28 h
5 f 13 p 21 én 29 7
6 g 14 q 22 s 30 6
7 8 15 x 23 z 31 9

Jegyzetek

[szerkesztés]
  1. Josefsson, Simon (2006. október 1.). „The Base16, Base32, and Base64 Data Encodings”. 
  2. Josefsson, Simon (2003. július 1.). „The Base16, Base32, and Base64 Data Encodings”. 
  3. Base32 Characters, Tables, Regular Expressions, and Z-Base32 - B64Encode (amerikai angol nyelven), 2023. augusztus 18. (Hozzáférés: 2023. augusztus 22.)

Fordítás

[szerkesztés]

Ez a szócikk részben vagy egészben a Base32 című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.