UnicodeEncoding.Preamble Propriété

Définition

Obtient une marque d’ordre d’octet Unicode encodée au format UTF-16 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 UnicodeEncoding peut fournir un préambule, qui est une étendue d’octets qui peut être ajoutée à 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’octet (point U+FEFFde code) permet au décodeur de 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 comme suit (au format hexadécimal) :

  • Ordre d’octet big endian : FE FF

  • Ordre d’octet little endian : FF FE

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

Nous vous recommandons d’utiliser le boM, car il fournit presque une certaine identification d’un encodage pour les fichiers qui ont autrement perdu une référence à leur encodage, comme les données web non étiquetées ou mal é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 marquées de manière cohérente et correctement marqué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.

Important

Pour vous assurer que les octets encodés sont correctement décodés, vous devez préfixer le début d’un flux d’octets encodés avec un préambule. Notez que la GetBytes méthode n’ajoute 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 à