Praktický příklad
UTF-8 serializuje text Unicode na bajty; ASCII potřebuje jeden bajt, mnoho dalších znaků dva až čtyři. Převeďte údaje lokálně v prohlížeči. Například vstup "196 140 97 117 44 32 115 118 196 155 116 101 33" 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
UTF-8 zapisuje skalární hodnoty Unicode jako posloupnosti bajtů. Písmena a číslice ASCII mají stejný jediný bajt jako v ASCII, zatímco diakritika a emoji obvykle potřebují více. Desítkový seznam ukazuje přesné přenosové bajty, nikoli kódové body ani jedno desítkové číslo pro celý řetězec. Dekodér přísně ověřuje pokračovací bajty, příliš dlouhé zápisy a neplatné skalární rozsahy místo tiché náhrady chybným znakem. Pořadí bajtů v jedné posloupnosti UTF-8 se nemění. Toto zobrazení pomáhá kontrolovat protokolová data, hledat poškozené znaky a odlišit hodnotu textu od fyzických bajtů, které ji přenášejí. UTF-8 serializuje text Unicode na bajty; ASCII potřebuje jeden bajt, mnoho dalších znaků dva až čtyři.
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í
Zadejte desítkové bajty bez znaménka oddělené mezerou, čárkou nebo středníkem. Neplatné UTF-8 se odmítne bez tiché náhrady. 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í.