Obnova textu zo skupín bajtov
Tento smer použite na osembitové skupiny predstavujúce bajty UTF-8. Jazykovo neutrálny príklad ASCII 01000001 dá A: jeho osem bitov tvorí jeden úplný bajt. Prevodník spojí bajty v poradí a dekóduje ich ako UTF-8, takže znak mimo ASCII môže vyžadovať viac po sebe idúcich skupín. Medzery uľahčujú čítanie skupín a možno ich odstrániť bez zmeny hodnoty bajtov. Neúplná skupina alebo znak iný ako nula a jednotka znamená neplatný vstup.
Úplný bitový vzor nemusí byť platný text. Niektoré kombinácie bajtov sú v UTF-8 nemožné a vyvolajú chybu namiesto odhadnutého znaku. Ak ste skopírovali sedembitové ASCII, surový prúd bitov alebo binárne číslice čísla, tento dekodér nemusí byť vhodný. Najprv zistite pôvodné kódovanie a veľkosť skupín. Pri hľadaní chyby si ponechajte zdrojový reťazec: jediný chýbajúci bit môže posunúť všetky ďalšie hranice.
Binárne skupiny predstavujú bajty UTF-8
Bajt obsahuje osem bitov, ktoré sa zapisujú nulou alebo jednotkou. Tento nástroj zobrazuje bajty textu UTF-8 ako osembitové skupiny oddelené medzerami. Napríklad písmeno ASCII A zaberá jeden bajt a vyzerá ako 01000001. Nie každý viditeľný znak sa zmestí do jedného bajtu: písmená s diakritikou, mnohé symboly a emoji vyžadujú viac bajtov UTF-8, teda aj viac skupín. Skupiny zobrazujú spôsob uloženia textu, nie binárny kódový bod každého znaku Unicode ani tvar nakreslený písmom.
Pri opačnom prevode musia skupiny obsahovať úplných osem bitov. Obnovené bajty sa potom interpretujú ako UTF-8. Aj formálne správny sled núl a jednotiek môže byť neplatným textom UTF-8; prevodník to oznámi namiesto vytvárania náhradných znakov. Sedembitové skupiny ASCII, ľubovoľné prúdy bitov, jednotky UTF-16 a binárne čísla vyžadujú iné pravidlá. Medzery medzi skupinami pomáhajú človeku vidieť hranice, nie sú však súčasťou bajtov. Binárny zápis dáta nekomprimuje ani nechráni.
Pred dekódovaním overte zakódovaný zdroj
Začnite hodnotou, ktorá je skutočne zapísaná očakávaným spôsobom. Vložte zakódovaný komponent alebo sled bajtov a porovnajte čitateľný výstup so záznamom, z ktorého pochádza. Dekodér beží v tomto prehliadači a reťazec neposiela na server na konverziu. Poškodený vstup alebo iný formát môže podľa operácie zlyhať či zostať čiastočne nezmenený. Zachovajte pôvodnú zakódovanú hodnotu, aby ste vedeli, či nečakaný znak pochádzal zo zdroja alebo z vašej interpretácie.
Dekódovaný text považujte za nový, potenciálne nedôveryhodný vstup. Čitateľná veta môže obsahovať značkovanie, URL, text podobný príkazu alebo súkromné údaje, ktoré treba ošetriť samostatne. Nevkladajte ju do vykonateľného kontextu len preto, že dekódovanie prešlo. Ak výsledok nesedí, overte deklarované kódovanie znakov a či skorší systém hodnotu nezakódoval viackrát. Opakované dekódovanie bez poznania vrstiev môže zmeniť doslovný oddeľovač na aktívnu štruktúru.