Encoding.Preamble Proprietà

Definizione

Quando ne viene eseguito l'override in una classe derivata, restituisce un intervallo contenente la sequenza di byte che specifica la codifica usata.

public:
 virtual property ReadOnlySpan<System::Byte> Preamble { ReadOnlySpan<System::Byte> get(); };
public virtual ReadOnlySpan<byte> Preamble { get; }
member this.Preamble : ReadOnlySpan<byte>
Public Overridable ReadOnly Property Preamble As ReadOnlySpan(Of Byte)

Valore della proprietà

Intervallo di byte contenente una sequenza di byte che specifica la codifica usata o un intervallo di lunghezza zero, se non è necessario un preambolo.

Commenti

Facoltativamente, l' Encoding oggetto fornisce un preambolo, ovvero una sequenza di byte che può essere preceduta dai byte derivanti dal processo di codifica. Se il preambolo contiene un byte order mark (in Unicode, punto di codice U + FEFF), consente al decodificatore di determinare l'ordine dei byte e il formato di trasformazione o UTF.

Il byte order mark Unicode (BOM) viene serializzato come indicato di seguito (in esadecimale):

  • UTF-8: EF BB BF

  • Ordine byte UTF-16 big endian: FE FF

  • Codifica UTF-16 little endian byte order: FE FF

  • UTF-32 big endian byte order: 00 00 FE FF

  • UTF-32 little endian byte order: FF FE 00 00

È consigliabile utilizzare l'indicatore di ordine dei byte, in quanto fornisce una certa identificazione di una codifica per i file che altrimenti hanno perso il riferimento all' Encoding oggetto, ad esempio, i dati Web senza tag o con tag non corretti o file di testo casuale archiviati quando un'azienda non ha avuto problemi internazionali o altri dati. Spesso si potrebbero evitare problemi dell'utente se i dati vengono contrassegnati in modo coerente e corretto, preferibilmente in UTF-8 o UTF-16.

Per gli standard che forniscono un tipo di codifica, un BOM è piuttosto ridondante. Tuttavia, può essere utilizzato per consentire a un server di inviare l'intestazione di codifica corretta. In alternativa, può essere utilizzato come fallback in caso contrario, la codifica andrà persa.

L'utilizzo di un BOM presenta alcuni svantaggi. Ad esempio, sapere come limitare i campi del database che utilizzano un BOM può essere difficile. Anche la concatenazione di file può costituire un problema, ad esempio quando i file vengono uniti in modo tale che un carattere non necessario possa finire nel mezzo dei dati. Nonostante i pochi svantaggi, tuttavia, è consigliabile utilizzare un BOM.

Per ulteriori informazioni sull'ordine dei byte e sulla byte order mark, vedere lo standard Unicode nella Home Page Unicode.

Attenzione

Per assicurarsi che i byte codificati vengano decodificati correttamente, è consigliabile anteporre i byte codificati a un preambolo. Tuttavia, la maggior parte delle codifiche non fornisce un preambolo. Per assicurarsi che i byte codificati vengano decodificati correttamente, è necessario usare una codifica Unicode, ovvero,, UTF8EncodingUnicodeEncoding o UTF32Encoding , con un preambolo.

Si applica a