Sdílet prostřednictvím


System.Text.Encoding.Default – vlastnost

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

Výstraha

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 používáte Encoding.Default kódování ke kódování a dekódování dat streamovaných mezi počítači nebo při načítání v různých časech na stejném počítači, může být tato data nesprávně interpretována. Kromě toho kódování vrácené Default vlastností používá nejlépe odpovídající náhradu k mapování nepodporovaných znaků na znaky podporované znakovou sadou. 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 vlastnost Default vždy získá aktivní kódovou stránku systému a vytvoří objekt Encoding, který jí 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 vlastnost Default vždy vrátí UTF8Encoding. UTF-8 se podporuje ve všech operačních systémech (Windows, Linux a macOS), na kterých běží aplikace .NET Core.