V C# se „Escape“ a „Unescape“ vztahují k procesu převodu znaků v řetězcích, které by jinak měly speciální význam, na jejich doslovné reprezentace (escaping) a naopak (unescape).
Escape: Zahrnuje použití speciálních sekvencí (např. \n, \t, \\) k reprezentaci znaků, které jsou buď netisknutelné, nebo mají v řetězcích C# speciální význam.
Unescape: Zahrnuje převod těchto escapovaných sekvencí zpět do jejich původního, doslovného tvaru.
Například escape sekvence \n představuje nový řádek v řetězci, zatímco \\ představuje doslovné zpětné lomítko.
Hlavním důvodem použití funkcí escape/unescape v jazyce C# je zpracování znaků v řetězcích, které:
Jinak by byly v konfliktu se syntaxí: Znaky jako uvozovky, zpětná lomítka nebo znaky nového řádku by narušily formátování řetězce, takže je nutné je escapovat.
Musí být reprezentovány doslovně: Například můžete chtít do řetězce zahrnout znak nového řádku nebo zajistit, aby se zpětná lomítka zobrazovala jako součást řetězce.
Interakce s externími systémy nebo formáty: Při zpracování JSON, XML nebo URL pomáhají funkce escape a unescape zajistit, aby byla data řetězce správně formátována.
Escape:
Když potřebujete do řetězce zahrnout speciální znaky, jako jsou znaky nového řádku nebo tabulátory.
Při práci s regulárními výrazy, kde znaky jako *, ? nebo + mají speciální význam.
Při práci s cestami k souborům, URL adresami nebo řetězci JSON, kde je nutné určité znaky escapovat.
Unescape:
Při čtení nebo zpracování dat, která obsahují escapované znaky, jako jsou uživatelské vstupy, URL adresy nebo data JSON.
Při převodu escapovaných řetězců zpět na jejich doslovné reprezentace, například při vývoji webu (např. dekódování entit HTML).
Při práci se soubory cesty a data, která vyžadují dekódování před správným použitím.