Partager via


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 un.

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é

É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) 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 comme suit (en hexadécimal) :

  • Ordre d’octets big endian : FE FF

  • Ordre d’octet petit endian : FF FE

Vous pouvez instancier un UnicodeEncoding objet dont Preamble il s’agit d’un boM valide de la manière suivante :

Nous vous recommandons d’utiliser le boM, car il fournit presque certaines identifications d’un encodage pour les fichiers qui, sinon, ont perdu une référence à leur encodage, comme des données web non étiquetées ou mal étiquetées ou des 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 régulièrement étiquetées et correctement étiquetées.

Pour les normes qui fournissent un type d’encodage, une boM est quelque 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 si l’encodage est autrement perdu.

Il existe certains inconvénients à l’utilisation d’un boM. Par exemple, savoir comment limiter les champs de base de données qui utilisent un boM peut être difficile. La concaténation des fichiers peut également être un problème, par exemple, lorsque les fichiers sont fusionnés de telle sorte qu’un caractère inutile peut se retrouver au milieu des données. Toutefois, malgré les quelques inconvénients, l’utilisation d’un boM est fortement recommandée.

Important

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