W C# „Escape” i „Unescape” odnoszą się do procesu konwersji znaków w ciągach, które w przeciwnym razie miałyby specjalne znaczenie, do ich dosłownych reprezentacji (ucieczka) i odwrotnie (unescaping).
Escape: Polega na użyciu specjalnych sekwencji (np. \n, \t, \\) do reprezentowania znaków, które są niedrukowalne lub mają specjalne znaczenie w ciągach C#.
Unescape: Polega na konwersji tych sekwencji ucieczki z powrotem do ich oryginalnych, dosłownych form.
Na przykład sekwencja ucieczki \n reprezentuje nowy wiersz w ciągu, podczas gdy \\ reprezentuje dosłowny ukośnik odwrotny.
Głównym powodem używania funkcji escape/unescape w języku C# jest obsługa znaków w ciągach znaków, które:
W przeciwnym razie kolidowałyby ze składnią: Znaki takie jak cudzysłowy, ukośniki odwrotne lub znaki nowej linii mogłyby zepsuć formatowanie ciągu znaków, dlatego należy je zastąpić znakami ucieczki.
Muszą być reprezentowane dosłownie: Na przykład możesz chcieć uwzględnić znak nowej linii w ciągu znaków lub upewnić się, że ukośniki odwrotne są wyświetlane jako część ciągu znaków.
Interakcja z systemami lub formatami zewnętrznymi: Podczas przetwarzania JSON, XML lub adresów URL funkcje escape i unescape pomagają zapewnić, że dane ciągu znaków są poprawnie sformatowane.
Escape:
Kiedy musisz uwzględnić znaki specjalne w ciągu, takie jak nowe linie lub tabulatory.
Kiedy masz do czynienia z wyrażeniami regularnymi, w których znaki takie jak *, ? lub + mają specjalne znaczenie.
Kiedy pracujesz ze ścieżkami plików, adresami URL lub ciągami JSON, w których pewne znaki muszą zostać zastąpione znakami ucieczki.
Unescape:
Kiedy odczytujesz lub przetwarzasz dane zawierające znaki ucieczki, takie jak dane wejściowe użytkownika, adresy URL lub dane JSON.
Kiedy konwertujesz znaki ucieczki z powrotem na ich literał reprezentacje, na przykład w rozwoju sieci (np. dekodowanie encji HTML).
Podczas obsługi ścieżek plików i danych, które wymagają dekodowania przed ich prawidłowym użyciem.