U C#, "Escape" i "Unescape" odnose se na proces pretvaranja znakova u nizovima koji bi inače imali posebna značenja u njihove doslovne reprezentacije (escaping) i obrnuto (unescape).
Escape: Uključuje korištenje posebnih nizova (npr. \n, \t, \\) za predstavljanje znakova koji se ili ne mogu ispisati ili imaju posebna značenja u C# nizovima.
Unescape: Uključuje pretvaranje tih escape nizova natrag u njihove izvorne, doslovne oblike.
Na primjer, escape niz \n predstavlja novi redak u nizu, dok \\ predstavlja doslovnu kosu crtu unatrag.
Glavni razlog korištenja escape/unescape u C# je rukovanje znakovima u nizovima koji:
Bi inače bili u sukobu sa sintaksom: Znakovi poput navodnika, obrnutih kosih crta ili znakova za novi redak narušili bi formatiranje niza, pa ih je potrebno escapeirati.
Moraju biti doslovno predstavljeni: Na primjer, možda želite uključiti znak za novi redak u niz ili osigurati da se obrnute kose crte prikazuju kao dio niza.
Interakcija s vanjskim sustavima ili formatima: Prilikom obrade JSON-a, XML-a ili URL-ova, funkcije escape i unescape pomažu u osiguravanju da su podaci niza ispravno formatirani.
Escape:
Kada trebate uključiti posebne znakove u niz, poput novih redaka ili tabulatora.
Prilikom rada s regularnim izrazima gdje znakovi poput *, ? ili + imaju posebna značenja.
Prilikom rada s putanjama datoteka, URL-ovima ili JSON nizovima gdje se određeni znakovi moraju izbjeći.
Unescape:
Prilikom čitanja ili obrade podataka koji sadrže izbjećene znakove, poput korisničkih unosa, URL-ova ili JSON podataka.
Prilikom pretvaranja izbjeđenih nizova natrag u njihove doslovne reprezentacije, na primjer, u web razvoju (npr. dekodiranje HTML entiteta).
Prilikom rukovanja datotekama putanje i podaci koji zahtijevaju dekodiranje prije pravilne upotrebe.