UTF8Encoding.Preamble Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar ett Unicode-byteordningsmärke som är kodat i UTF-8-format, om det här objektet har konfigurerats för att ange ett.
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)
Egenskapsvärde
Ett byteintervall som innehåller Unicode-byteordningsmarkeringen om det här objektet är konfigurerat för att ange ett. i annat fall standardintervallet.
Kommentarer
Objektet UTF8Encoding kan ange en ingress, vilket är ett intervall med byte som kan prefixeras till sekvensen med byte som är resultatet av kodningsprocessen. Genom att föregå en sekvens med kodade byte med ett byteordningsmärke (kodpunkt U+FEFF) kan avkodaren fastställa byteordningen och transformeringsformatet eller UTF. Unicode byte order mark (BOM) serialiseras som 0xEF 0xBB 0xBF. Observera att Unicode Standard varken kräver eller rekommenderar användning av en BOM för UTF-8-kodade strömmar.
Du kan instansiera ett UTF8Encoding objekt vars Preamble är en giltig strukturlista på följande sätt:
Genom att hämta objektet UTF8Encoding som returneras av Encoding.UTF8 egenskapen.
Genom att anropa en UTF8Encoding konstruktor med en
encoderShouldEmitUTF8Identifierparameter och ange dess värde tilltrue.
Alla andra UTF8Encoding objekt är konfigurerade för att returnera ett standardintervall i stället för en giltig strukturlista.
Bommen ger nästan säker identifiering av en kodning för filer som annars har förlorat en referens till deras kodning, till exempel otaggade eller felaktigt taggade webbdata eller slumpmässiga textfiler som lagras när ett företag inte har internationella problem. Ofta kan användarproblem undvikas om data är konsekventa och korrekt taggade.
För standarder som tillhandahåller en kodningstyp är en strukturliste något redundant. Den kan dock användas för att hjälpa en server att skicka rätt kodningshuvud. Alternativt kan den användas som reserv om kodningen annars går förlorad.
Det finns vissa nackdelar med att använda en strukturlista. Det kan till exempel vara svårt att veta hur databasfälten som använder en strukturlista ska begränsas. Sammanfogning av filer kan vara ett problem, till exempel när filer slås samman på ett sådant sätt att ett onödigt tecken kan hamna mitt i data. Trots de få nackdelarna rekommenderas dock användningen av en strukturlista starkt.
Mer information om byteordning och byteordningsmarkering finns i Unicode Standard på Unicode-startsidan.
Important
För att säkerställa att de kodade byteen avkodas korrekt när de sparas som en fil eller som en ström kan du prefixa början av en ström med kodade byte med en ingress. Observera att GetBytes metoden inte förbereder en bom till en sekvens med kodade byte. Det är utvecklarens ansvar att tillhandahålla en strukturlista i början av en lämplig byteström.