UnicodeEncoding.Preamble Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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é
É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+FEFF
de 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 :
En récupérant l’objet UnicodeEncoding retourné par la ou Encoding.BigEndianUnicode la Encoding.Unicode propriété.
En appelant le constructeur sans UnicodeEncoding() paramètre pour instancier un UnicodeEncoding objet.
En fournissant
true
comme valeur de l’argumentbyteOrderMark
aux UnicodeEncoding(Boolean, Boolean) constructeurs ou UnicodeEncoding(Boolean, Boolean, Boolean) aux constructeurs.
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.