Praktický příklad
Kódové body Unicode označují znaky hexadecimální skalární hodnotou; doplňkový znak má jeden bod, ne dvě jednotky UTF-16. Převeďte údaje lokálně v prohlížeči. Například vstup "U+010C U+0061 U+0075 U+002C U+0020 U+0073 U+0076 U+011B U+0074 U+0065 U+0021" 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
Kódový bod Unicode je skalární číslo přiřazené znaku, které se zde zapisuje jako U+ a hexadecimální číslice. U+0041 označuje A; znak nad U+FFFF má stále jeden bod, přestože jej JavaScript vnitřně ukládá do dvou jednotek UTF-16. Kódové body nejsou bajty a neurčují kódování souboru. Kombinující znaménka mají vlastní body, takže viditelné písmeno s diakritikou může být jeden předem složený bod nebo více bodů. Nástroj odmítne náhradní hodnoty UTF-16 i hodnoty nad U+10FFFF, protože nejsou platnými skalárními hodnotami. Seznam pomáhá vyšetřovat podobně vypadající text a neviditelná znaménka. Kódové body Unicode označují znaky hexadecimální skalární hodnotou; doplňkový znak má jeden bod, ne dvě jednotky UTF-16.
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í
Použijte U+ a jednu až šest hexadecimálních číslic. Náhradní hodnoty a hodnoty nad U+10FFFF se odmítnou. 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í.