Base64
From Wikipedia, the free encyclopedia
Remove ads
Base64 je kódování, které převádí binární data na posloupnosti tisknutelných znaků. Umožňuje přenos binárních dat kanály, které dovolují pouze přenos textů. Používá se například v rozšíření MIME pro přenos e-mailů původně 7bitovým poštovním systémem v Internetu. Je definováno v RFC 4648.
Base64 kóduje vždy tři oktety binárních dat pomocí čtyř ASCII znaků. Ke kódování používá 64prvkovou sadu znaků tvořenou velkými i malými písmeny anglické abecedy, číslicemi a znaky plus ('+') a lomítko ('/'). Pokud počet oktetů původních dat není dělitelný třemi, doplňuje na konec zakódovaného textu jedno nebo dvě rovnítka ('=').
Remove ads
Příklad
Například následující text:
- Nazdar, světe! Příliš žluťoučký kůň úpěl ďábelské ódy.
je (při reprezentaci v UTF-8) v MIME Base64 zakódován takto:
TmF6ZGFyLCBzdsSbdGUhIFDFmcOtbGnFoSDFvmx1xaVvdcSNa8O9IGvFr8WIIMO6cMSbbCDEj8Oh YmVsc2vDqSDDs2R5Lg==
Base64 se však používá v převážné míře k zakódování binárních dat, například multimédií.
Algoritmus base64
Z výše uvedeného příkladu je řetězec Naz
zakódován do řetězce TmF6
.
N
, a
, z
jsou zapsány v ASCII jako čísla 78
, 97
, 122
dekadicky, tedy ve dvojkové soustavě 01001110
, 01100001
, 01111010
. Tyto 3 bajty jsou spojeny do 24 bitů 010011100110000101111010
. Následně jsou rozděleny do skupin po 6 bitech (6 bitů reprezentuje 64 možných stavů) a převedeny do 4 čísel (24 = 6×4). Tato čísla jsou použita jako index do tabulky znaků:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
kde znaku "A" odpovídá index 0 a znaku "/" index 63.
Jak je uvedeno v daném příkladu s textovými daty, kódování base64 převede každé 3 původní bajty (v našem případě 3 znaky ASCII) na 4 kódované znaky ASCII. Pokud počet nevychází přesně na trojice, zakóduje se poslední jeden nebo dva znaky a přidají se dvě, respektive jedno rovnítko.
Vlastnosti base64
- Výsledný řetězec se skládá z tisknutelných znaků ASCII.
- Rozlišuje se velikost písmen.
- Nemá kontrolní mechanismus.
- Kódování probíhá binárně (neřeší se znakové kódování apod.).
- Base64 je binárně bezpečné.
- Délka výsledného řetězce se navýší o 33 %.
Nástroje On-line
- Decode Base64 encoded text
- Base64 Decoder
- On-line Base64 encoder and decoder
- Base64 encode and decode - Online
- On-line decoding and encoding text and files
- On-line Base64 encode / decode Archivováno 9. 11. 2007 na Wayback Machine.
- Downloadable open source tool to encode or decode Base64 on Unix or Win32
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads