Base64

From Wikipedia, the free encyclopedia

Remove ads

A Base64 kódolás 64 karakterből álló ábécén alapuló tartalomkódolási forma, melynek segítségével bináris, illetve speciális karaktereket tartalmazó adatokból ASCII karaktersorozat állítható elő. Az ily módon kódolt adatok akár a karaktereket 7 biten ábrázoló rendszereken is könnyen átvihetők.

Működése

Thumb
Base64-da

A base64 kódolás során a kódolandó adathalmazt először 3 bájtból álló egységekre bontjuk, majd ezt az egységet bináris formára (24 bitre) alakítjuk. A 24 bitet ezután 6 bites darabkákra kell felszabdalni, majd az így kapott, 6 biten ábrázolt számokat indexként használva kell kikeresni a kódtáblából a kódolt karaktert. Látható, hogy a kódolás révén minden három kódolatlan karakter négy kódolttá alakul. (Megjegyzés: nem szükséges, hogy a bemenet (bájtokban mért) hossza hárommal osztható legyen; ha az input hossza n, akkor az output hossza egészrész((4n+2)/3), amit rendszerint egyenlőségjelekkel egészítünk ki néggyel osztható hosszúságra.

Az egyes bithatosokat reprezentáló karakterek (64 db) az alábbiak: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

A kódolt szövegben előfordulhat még:

  • egyenlőségjel ('='), amellyel a kódolt szöveget szokás néggyel osztható hosszúságúra kiegészíteni
  • kocsi-vissza, a visszafejtésnél figyelmen kívül kell hagyni
  • soremelés, a visszafejtésnél figyelmen kívül kell hagyni
Remove ads

Elgondolás

A 64 karaktert úgy választották ki, hogy azok megtalálhatóak a legtöbb alap kódolási formában, valamint nyomtathatóak. Így vélhetően mindent rendszeren hiba nélkül tovább küldhető, például e-mailben, ami nem tradicionális 8 bites alapot használ.

A Base64 kódtábla

Ez az RFC 4648 §4-ben meghatározott Base64 ábécé.

További információk Érték, Bináris ...

Példák

Az angol Man szó kódolása

Szöveg M a n
ASCII kód 77 97 110
Bitminta010011010110000101101110
Kódtábla indexe 19 22 5 46
Base64-kódolt T W F u

Ma szó kódolása

További információk Eredeti bemenet, Szöveg ...

Az AbCd szó kódolása

Az AbCd szó karaktereinek ASCII kódjai (decimálisan): 65, 98, 67, 100. Ezek bináris formája: 01000001, 01100010, 01000011, 01100100. Az így kapott 32 bit hatos csoportokra bontva (kiegészítve nullákkal): 010000, 010110, 001001, 000011, 011001, 000000, melyek megadják a kódtáblabeli indexeket: 16, 22, 9, 3, 25, 0. Az egyes bithatosokhoz tartozó jelek a táblázat alapján: QWJDZA, kiegészítve néggyel osztható hosszra: QWJDZA==.

Remove ads

Egy változat: Base64URL

Ez a változat az alábbiakban különbözik a Base64-tól:

  1. a kódolás két utolsó karaktere nem + és /, hanem - és _
  2. a kód végén nincsenek hosszkitöltő egyenlőségjelek
  3. nincs sorokra tördelés

Kapcsolódó szócikkek

További információk

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads