UTF8Encoding.Preamble Propriété

Définition

Obtient une marque d’ordre d’octet Unicode encodée au format UTF-8 si cet objet est configuré pour en fournir une.

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

Valeur de propriété

ReadOnlySpan<Byte>

Étendue d’octets contenant la marque d’ordre d’octet Unicode, si cet objet est configuré pour en fournir un; sinon, l’étendue par défaut.

Remarques

L’objet UTF8Encoding peut fournir un préambule, qui est une étendue d’octets qui peut être précédée de la séquence d’octets résultant du processus d’encodage. La précédation d’une séquence d’octets codés avec une marque d’ordre d’octets (point U+FEFFde code) aide le décodeur à déterminer l’ordre d’octet et le format de transformation, ou UTF. La marque d’ordre d’octet Unicode (BOM) est sérialisée en tant que 0xEF 0xBB 0xBF. Notez que la norme Unicode ne nécessite ni recommande l’utilisation d’un boM pour les flux codés UTF-8.

Vous pouvez instancier un UTF8Encoding objet dont Preamble le nom est un boM valide de la manière suivante :

  • En récupérant l’objet UTF8Encoding retourné par la Encoding.UTF8 propriété.

  • En appelant un UTF8Encoding constructeur avec un encoderShouldEmitUTF8Identifier paramètre et en définissant sa valeur définie sur true.

Tous les autres UTF8Encoding objets sont configurés pour retourner une étendue par défaut plutôt qu’un boM valide.

Le boM fournit presque certaines identifications d’un encodage pour les fichiers qui, sinon, ont perdu une référence à leur encodage, comme les données web non étiquetées ou les fichiers texte aléatoires stockés lorsqu’une entreprise n’a pas de préoccupations internationales. Souvent, les problèmes utilisateur peuvent être évités si les données sont cohérentes et correctement étiquetées.

Pour les normes qui fournissent un type d’encodage, une nomenclature est un peu redondante. Toutefois, il peut être utilisé pour aider un serveur à envoyer l’en-tête d’encodage correct. Vous pouvez également l’utiliser comme secours au cas où l’encodage serait perdu.

L’utilisation d’une nomenclature présente quelques inconvénients. Par exemple, il peut être difficile de savoir comment limiter les champs de base de données qui utilisent une nomenclature. La concaténation de fichiers peut également être un problème, par exemple, lorsque des fichiers sont fusionnés de manière à ce qu’un caractère inutile puisse se retrouver au milieu des données. Malgré les quelques inconvénients, toutefois, l’utilisation d’une nomenclature est fortement recommandée.

Pour plus d’informations sur l’ordre d’octet et la marque d’ordre d’octet, consultez la norme Unicode sur la page d’hébergement Unicode.

Important

Pour vous assurer que les octets encodés sont décodés correctement lorsqu’ils sont enregistrés en tant que fichier ou en tant que flux, vous pouvez préfixer le début d’un flux d’octets codés avec un préambule. Notez que la GetBytes méthode ne prépendait pas de boM à une séquence d’octets encodés ; l’approvisionnement d’un boM au début d’un flux d’octets approprié est la responsabilité du développeur.

S’applique à