Obnovení textu ze skupin bajtů
Tento směr použijte pro osmibitové skupiny představující bajty UTF-8. Jazykově neutrální příklad ASCII 01000001 dává A: jeho osm bitů tvoří jeden úplný bajt. Převodník spojí bajty v pořadí a dekóduje je jako UTF-8, takže znak mimo ASCII může vyžadovat více po sobě jdoucích skupin. Mezery usnadňují čtení skupin a lze je odstranit beze změny hodnoty bajtů. Neúplná skupina nebo znak jiný než nula a jednička znamená neplatný vstup.
Úplný bitový vzor nemusí být platný text. Některé kombinace bajtů jsou v UTF-8 nemožné a vyvolají chybu místo odhadnutého znaku. Pokud jste zkopírovali sedmibitové ASCII, surový proud bitů nebo binární číslice čísla, tento dekodér nemusí být vhodný. Nejprve zjistěte původní kódování a velikost skupin. Při hledání chyby si ponechte zdrojový řetězec: jediný chybějící bit může posunout všechny další hranice.
Binární skupiny představují bajty UTF-8
Bajt obsahuje osm bitů, které se zapisují nulou nebo jedničkou. Tento nástroj zobrazuje bajty textu UTF-8 jako osmibitové skupiny oddělené mezerami. Například písmeno ASCII A zabírá jeden bajt a vypadá jako 01000001. Ne každý viditelný znak se vejde do jednoho bajtu: písmena s diakritikou, mnohé symboly a emoji vyžadují více bajtů UTF-8, tedy i více skupin. Skupiny ukazují způsob uložení textu, ne binární kódový bod každého znaku Unicode ani tvar vykreslený písmem.
Při opačném převodu musejí skupiny obsahovat úplných osm bitů. Obnovené bajty se pak interpretují jako UTF-8. I formálně správný sled nul a jedniček může být neplatným textem UTF-8; převodník to oznámí místo vytváření náhradních znaků. Sedmibitové skupiny ASCII, libovolné proudy bitů, jednotky UTF-16 a binární čísla vyžadují jiná pravidla. Mezery mezi skupinami pomáhají člověku vidět hranice, nejsou ale součástí bajtů. Binární zápis data nekomprimuje ani nechrání.
Před dekódováním ověřte zakódovaný zdroj
Začněte hodnotou, která je skutečně zapsána očekávaným způsobem. Vložte zakódovanou komponentu nebo sled bajtů a porovnejte čitelný výstup se záznamem, odkud pochází. Dekodér běží v tomto prohlížeči a řetězec neposílá na server ke konverzi. Poškozený vstup nebo jiný formát může podle operace selhat či zůstat částečně beze změny. Uchovejte původní zakódovanou hodnotu, abyste věděli, zda nečekaný znak pocházel ze zdroje nebo z vaší interpretace.
Dekódovaný text považujte za nový, potenciálně nedůvěryhodný vstup. Čitelná věta může obsahovat značkování, URL, text podobný příkazu nebo soukromé údaje, které je nutné ošetřit zvlášť. Nevkládejte ji do spustitelného kontextu jen proto, že dekódování prošlo. Pokud výsledek nesedí, ověřte deklarované kódování znaků a zda dřívější systém hodnotu nezakódoval víckrát. Opakované dekódování bez znalosti vrstev může změnit doslovný oddělovač v aktivní strukturu.