System.Text.Encoding.Default – vlastnost

Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.

Upozorňující

Různé počítače můžou jako výchozí použít různá kódování a výchozí kódování se může změnit v jednom počítači. Pokud kódujete Encoding.Default a dekódujete data streamovaná mezi počítači nebo je načítáte v různých časech na stejném počítači, může tato data přeložit nesprávně. Kromě toho kódování vrácené Default vlastností používá náhradní náhradní zařízení k mapování nepodporovaných znaků na znaky podporované znakovou stránkou. Z těchto důvodů se nedoporučuje používat výchozí kódování. Chcete-li zajistit, aby kódované bajty byly dekódovány správně, měli byste použít kódování Unicode, například UTF8Encoding nebo UnicodeEncoding. Můžete také použít protokol vyšší úrovně, abyste zajistili, že se pro kódování a dekódování používá stejný formát.

.NET Framework

V rozhraní .NET Framework získá Default vlastnost vždy aktivní znakovou stránku systému a vytvoří Encoding objekt, který mu odpovídá. Aktivní znaková stránka může být znaková stránka ANSI, která obsahuje znakovou sadu ASCII spolu s dalšími znaky, které se liší podle znakové stránky. Vzhledem k tomu, že všechna Default kódování založená na znakových stránkách ANSI ztratí data, zvažte místo toho použití Encoding.UTF8 kódování. UTF-8 je často identický v rozsahu U+00 až U+7F, ale může kódovat znaky mimo rozsah ASCII bez ztráty.

.NET Core

V .NET Core vrátí Default vlastnost vždy UTF8Encodinghodnotu . UTF-8 se podporuje ve všech operačních systémech (Windows, Linux a macOS), na kterých běží aplikace .NET Core.