Właściwość System.Text.Encoding.Default

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

Ostrzeżenie

Różne komputery mogą używać różnych kodowań jako domyślnych, a domyślne kodowanie może ulec zmianie na jednym komputerze. Jeśli używasz Encoding.Default kodowania do kodowania i dekodowania danych przesyłanych strumieniowo między komputerami lub pobieranych w różnym czasie na tym samym komputerze, może to spowodować nieprawidłowe tłumaczenie tych danych. Ponadto kodowanie zwracane przez Default właściwość używa najlepszego dopasowania rezerwowego do mapowania nieobsługiwanych znaków na znaki obsługiwane przez stronę kodową. Z tych powodów używanie kodowania domyślnego nie jest zalecane. Aby upewnić się, że zakodowane bajty są prawidłowo dekodowane, należy użyć kodowania Unicode, takiego jak UTF8Encoding lub UnicodeEncoding. Można również użyć protokołu wyższego poziomu, aby upewnić się, że ten sam format jest używany do kodowania i dekodowania.

.NET Framework

W programie .NET Framework Default właściwość zawsze pobiera aktywną stronę kodu systemu i tworzy Encoding obiekt, który mu odpowiada. Aktywna strona kodu może być stroną kodową ANSI, która zawiera zestaw znaków ASCII wraz z dodatkowymi znakami, które różnią się w zależności od strony kodowej. Ponieważ wszystkie Default kodowanie oparte na stronach kodu ANSI tracą dane, rozważ użycie Encoding.UTF8 kodowania. UtF-8 jest często identyczny w zakresie U+00 do U+7F, ale może kodować znaki poza zakresem ASCII bez utraty.

.NET Core

W programie .NET Core Default właściwość zawsze zwraca UTF8Encodingwartość . UtF-8 jest obsługiwany we wszystkich systemach operacyjnych (Windows, Linux i macOS), na których działają aplikacje platformy .NET Core.