Praktický příklad
Base32 podle RFC 4648 seskupuje bity UTF-8 do pětibitových symbolů A–Z a 2–7. Převeďte údaje lokálně v prohlížeči. Například vstup "YSGGC5JMEBZXNRE3ORSSC===" dá výsledek "Čau, světe!". Porovnejte obě strany znak po znaku; viditelný zápis může skrývat odlišné bajty nebo kombinující znaménka. V tomto směru se zakódovaný zápis změní na čitelný text. Vložte celou posloupnost i s výplní či úniky a znaky porovnejte se zdrojovým systémem. Syntakticky správný zápis může stále obsahovat bajty, které netvoří platný text UTF-8.
Jak zápis funguje
Base32 určuje RFC 4648. Osm znaků výstupu představuje nejvýše pět vstupních bajtů; poslední blok lze doplnit znaky = na osm míst. Abeceda obsahuje A až Z a číslice 2 až 7. Není to libovolné číslo v soustavě se základem třicet dva ani Crockfordova abeceda s podobným názvem. Text Unicode se nejprve změní na bajty UTF-8. Při dekódování se obnoví skupiny bitů a pak se ověří UTF-8. Výplň může na vstupu chybět, ale nemožné délky a nenulové nevyužité bity se odmítnou. Formát pomáhá protokolům s tisknutelnými symboly bez rozlišení velikosti písmen, ale prodlužuje obsah a nemá kontrolu integrity. Base32 podle RFC 4648 seskupuje bity UTF-8 do pětibitových symbolů A–Z a 2–7.
Textová transformace má směr. Nejdříve zjistěte, zda je zdroj čitelný text Unicode, seznam bajtů, kódové body nebo již zakódovaný řetězec. Vložte krátkou hodnotu se známým významem, prohlédněte si výsledek a až potom zpracujte větší vstup. Zdroj si ponechte. Zakódovaný zápis může být vratný a přitom odhalit každý původní bajt každému, kdo zná formát; samotné kódování soukromí nechrání. Výpočet probíhá v tomto prohlížeči a vložený obsah neposílá na konverzní server. Výsledek se přesto může stát veřejným, vložíte-li ho do sdíleného dokumentu, hlášení chyby či adresy URL.
Omezení a spolehlivé použití
Base32 je vratné kódování, nikoli šifrování. Používá se RFC 4648, při vstupu lze vynechat výplň a bajty musí tvořit platný text UTF-8. Použijte přesně tu abecedu, kódování bajtů a normalizační tvar, které očekává přijímající systém. Podobné formáty nemusí být zaměnitelné. Dekódovaný řetězec může obsahovat značkování či řídicí znaky a další aplikace jej musí považovat za nedůvěryhodný vstup. Platný převod také nedokazuje oprávněnost, bezpečnost ani věcnou správnost údajů. U vratného postupu zkuste zpětný převod a porovnejte kódové body nebo bajty UTF-8, pokud dva řetězce vypadají stejně, ale při přesném porovnání se liší. U ukládaných či podepisovaných dat zdokumentujte transformaci v datovém rozhraní.