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 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 FFOrdre 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 :
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
truela valeur de l’argumentbyteOrderMarkaux UnicodeEncoding(Boolean, Boolean) constructeurs ou UnicodeEncoding(Boolean, Boolean, Boolean) aux constructeurs.
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.