Skip to content

Jak funguje kódování Base64

17 de Červenec de 2021
GettyImages 1134691885 57fb324e5c2848dabfaffa98894329d1

Kódování Base64 je proces převodu binárních dat do formátu řetězce ASCII převedením těchto binárních dat na 6bitovou reprezentaci znaků. Metoda kódování Base64 se používá, když se binární data, jako jsou obrázky nebo video, přenášejí přes systémy, které jsou určeny k přenosu dat ve formátu prostého textu (ASCII).

Proč se používá kódování Base64?

Potřeba kódování Base64 pochází z problémů, ke kterým dochází při přenosu médií v surovém binárním formátu do textových systémů. Protože textové systémy (například e-mail) interpretují binární data jako širokou škálu znaků, včetně speciálních příkazových znaků, je velká část binárních dat přenášených na přenosová média těmito systémy nesprávně interpretována a v procesu přenosu je ztracena nebo poškozena.

Jednou z metod kódování tohoto druhu binárních dat způsobem, který se vyhne takovým problémům s přenosem, je odeslat jej jako prostý text ASCII ve formátu kódovaném Base64. Toto je jedna z technik používaných standardem MIME k odesílání jiných dat než prostého textu. Mnoho programovacích jazyků, jako je PHP a Javascript, obsahuje funkce kódování a dekódování Base64 za účelem interpretace dat přenášených pomocí kódování Base64.

Logika kódování Base64

Kódování Base64 rozděluje binární data na 6bitové segmenty o 3 plných bajtech a představuje je jako tisknutelné znaky ve standardu ASCII. Dělá to v zásadě ve dvou krocích. Prvním krokem je rozdělení binárního řetězce na 6bitové bloky. Base64 používá pouze 6 bitů (odpovídá 2 ^ 6 = 64 znaků), aby zajistil, že kódovaná data jsou tisknutelná a lidsky čitelná. Nepoužívají se žádné speciální znaky dostupné v ASCII. 64 znaků (odtud název Base64) má 10 číslic, 26 malých znaků, 26 velkých znaků, znaménko plus (+) a lomítko (/). K dispozici je také 65. znak známý jako podložka, což je znaménko rovná se (=). Tento znak se používá, když poslední segment binárních dat neobsahuje celých 6 bitů.

Příklad kódování Base64

Vezměme si například tři čísla ASCII 155, 162 a 233. Tato tři čísla tvoří binární proud 100110111010001011101001. Binární soubor, jako obrázek, obsahuje binární proud běžící na desítky nebo stovky tisíc nul a jedniček. Kodér Base64 začíná rozdělením binárního proudu do seskupení po šesti znacích: 100110 111010 001011 101001. Každé z těchto seskupení se převádí na čísla 38, 58, 11 a 41. Šestimístný binární proud převádí mezi binárním (nebo 2) na desetinná místa (základna-10) znaků čtvercováním každé hodnoty představované 1 v binární sekvenci s jejím pozičním čtvercem. Počínaje zprava a pohybující se doleva a počínaje nulou představují hodnoty v binárním proudu 2 ^ 0, poté 2 ^ 1, poté 2 ^ 2, poté 2 ^ 3, poté 2 ^ 4, poté 2 ^ 5. Tady je další způsob, jak se na to podívat. Počínaje zleva má každá pozice hodnotu 1, 2, 4, 8, 16 a 32. Pokud má binární číslo v slotu 1, přidáte tuto hodnotu; pokud má v slotu 0, nemáte. Binární řetězec 100110 se převede na desetinné číslo 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 + 4 + 0 + 0 + 32. Kódování Base64 převezme tento binární řetězec a rozdělí ho na 6bitové hodnoty 38, 58, 11 a 41. Nakonec jsou tato čísla převedena na znaky ASCII pomocí kódovací tabulky Base64. 6bitové hodnoty z tohoto příkladu se překládají do sekvence ASCII m6Lp. Použití převodní tabulky Base64:

  • 38 je m
  • 58 je 6
  • 11 je L
  • 41 je str

Tento dvoustupňový proces se použije na celý binární řetězec, který je zakódován. Aby se zajistilo, že kódovaná data lze správně vytisknout a nepřekročí limit délky řádku žádného poštovního serveru, jsou vloženy znaky nového řádku, aby délka řádku nepřesáhla 76 znaků. Znaky nového řádku jsou kódovány jako všechna ostatní data. Celým účelem kódování Base64, od přidání výplně k zachování 3bajtových binárních segmentů po převod binárního textu na text pomocí tabulky Base64, je zachování integrity přenášených binárních informací.

Tabulka kódování Base64

Následující tabulka překládá všech 64 znaků použitých v kódování Base64.

Tabulka kódování Base64
Hodnota Char Hodnota Char Hodnota Char Hodnota 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 PROTI 37 l 53 1
6 G 22 Ž 38 m 54 2
7 H 23 X 39 n 55 3
8 24 Y 40 Ó 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 Ó 30 E 46 u 62 +
15 P 31 F 47 proti 63 /

Řešení Endgame

Na konci procesu kódování může dojít k problému. Pokud je velikost původních dat v bajtech násobkem tří, vše funguje dobře. Pokud tomu tak není, mohou být prázdné bajty. Pro správné kódování jsou potřeba přesně 3 bajty binárních dat. Řešením je přidat dostatek bajtů s hodnotou 0 k vytvoření 3bajtové skupiny. Dvě takové hodnoty jsou připojeny, pokud data potřebují jeden další bajt dat, jedna je připojena pro dva další bajty. Tyto umělé koncové nuly samozřejmě nelze kódovat pomocí níže uvedené kódovací tabulky. Musí být zastoupeny 65. znakem. Vycpávkový znak Base64 je znaménko rovnosti (=) a je umístěn na konec kódovaných dat. Více od Lifewire

  • Obrazovka počítače s číslem „1010101“

    Jak se liší bitů, bytů, megabajtů, megabitů a gigabitů?

  • Obrázek binárního kódu

    Co je to binární a jak to funguje?

  • Malé, výchozí a velké velikosti hlavního panelu Windows 11

    Jak změnit velikost hlavního panelu v systému Windows 11

  • Osm labutí létajících na obloze

    Využití oktetů v počítačích a sítích

  • Muž sedí u počítače v malé kanceláři

    Práce s binárními čísly

  • Obrázek náhodných zelených hexadecimálních kódů na monitoru počítače

    Co je hexadecimální?

  • Ukázkové konfigurace pro síťové podsítě

    Výukový program pro IP: Maska podsítě a podsítě

  • Vysokorychlostní síť reprezentovaná lehkými stezkami a jednotkami a nulami

    Průvodce pro začátečníky v režimu asynchronního přenosu (ATM)

  • Binární kód

    Jak používat logické hodnoty (logické hodnoty) v aplikaci Excel

  • Soubory DXF

    Co je soubor DXF?

  • Screenshot několika souborů HQX ve Windows 10

    Co je soubor HQX?

  • Tři počítačové monitory s městem v pozadí, spolu s binárním kódem.

    MAC adresy s příklady formátování

  • Vlastní kapitál akcionářů v rozvaze

    Jak odečíst v Tabulkách Google

  • hodnoty registru v editoru registru Windows 10

    Co je hodnota registru?

  • Obrázek paměti počítače a binárního kódu

    Jak číst binární soubory

  • Binární na obrazovce

    Jak zobrazit tisknutelné znaky souboru pomocí příkazu Strings

Záchranný drát

Následuj nás

  • Facebook

  • O nás
  • Inzerovat
  • Zásady ochrany osobních údajů
  • Zásady používání souborů cookie
  • Kariéra
  • Redakční pokyny
  • Kontakt
  • Podmínky použití
  • Ochrana osobních údajů v EU
  • Oznámení o ochraně osobních údajů v Kalifornii
  • DŮVĚRYHODNÉ

Vaše práva na soukromí

Lifewire a naši partneři třetích stran používají soubory cookie a zpracovávají osobní údaje, jako jsou jedinečné identifikátory, na základě vašeho souhlasu s ukládáním a / nebo přístupem k informacím v zařízení, zobrazováním personalizovaných reklam a pro měření obsahu, přehled publika a vývoj produktů. Chcete-li změnit nebo odvolat váš výběr souhlasu pro Lifewire.com, včetně vašeho práva vznést námitku, kde je použit oprávněný zájem, klikněte níže. Nastavení můžete kdykoli aktualizovat pomocí odkazu „Ochrana osobních údajů v EU“ v dolní části jakékoli stránky. Tyto volby budou globálně signalizovány našim partnerům a nebudou mít vliv na data procházení. Seznam partnerů (prodejců)

My a naši partneři zpracováváme údaje pro:

Aktivně pro identifikaci skenujte vlastnosti zařízení. Používejte přesná geolokační data. Ukládejte a / nebo přistupujte k informacím na zařízení. Vyberte přizpůsobený obsah. Vytvořte si osobní profil obsahu. Měření výkonu reklamy. Vyberte základní reklamy. Vytvořte si přizpůsobený profil reklam. Vyberte přizpůsobené reklamy. Aplikujte průzkum trhu a získejte přehled o publiku. Měření výkonu obsahu. Vyvíjejte a vylepšujte produkty. Seznam partnerů (prodejců)