UTF32Encoding.Preamble Proprietà

Definizione

Ottiene un byte order mark Unicode codificato in formato UTF-32, se questo oggetto è configurato per specificarne uno.

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)

Valore della proprietà

Intervallo di byte contenente il contrassegno di ordine dei byte Unicode, se questo oggetto è configurato per specificarne uno; in caso contrario, un intervallo predefinito.

Commenti

L'oggetto UTF32Encoding può fornire un preambolo, ovvero un intervallo di byte che può essere preceduto dalla sequenza di byte risultante dal processo di codifica. Anteponendo una sequenza di byte codificati con un byte order mark (punti di codice U+0000U+FEFF) consente al decodificatore di determinare l'ordine dei byte e il formato di trasformazione o UTF. Il byte order mark Unicode (BOM) viene serializzato come segue (in formato esadecimale):

  • Ordine dei byte big endian: 00 00 FE FF

  • Ordine dei byte little endian: FF FE 00 00

È possibile creare un'istanza di un oggetto UTF32Encoding la cui proprietà Preamble è una distinta base valida nei modi seguenti:

È consigliabile utilizzare la distinta base, poiché fornisce quasi certamente un'identificazione di una codifica per i file che altrimenti hanno perso un riferimento all'oggetto UTF32Encoding, ad esempio dati Web senza tag o con tag non corretto o file di testo casuali archiviati quando un'azienda non ha problemi internazionali o altri dati. Spesso, i problemi utente potrebbero essere evitati se i dati sono contrassegnati in modo coerente e corretto.

Per gli standard che forniscono un tipo di codifica, un bom è un po' ridondante. Tuttavia, può essere usato per consentire a un server di inviare l'intestazione di codifica corretta. In alternativa, può essere usato come fallback nel caso in cui la codifica vada persa in caso contrario.

Esistono alcuni svantaggi per l'uso di una distinta base. Ad esempio, sapere come limitare i campi di database che usano una distinta base può essere difficile. La concatenazione dei file può anche essere un problema, ad esempio quando i file vengono uniti in modo tale che un carattere non necessario possa finire al centro dei dati. Nonostante i pochi svantaggi, tuttavia, l'uso di un BOM è altamente consigliato.

Per altre informazioni sull'ordine dei byte e sul contrassegno di ordine dei byte, vedere Standard Unicode nella home page Unicode .

Importante

Per assicurarsi che i byte codificati siano decodificati correttamente, è necessario anteporre un preambolo ai byte codificati. Si noti che il metodo GetBytes non antepone un BOM a una sequenza di byte codificati; fornire un BOM all'inizio di un flusso di byte appropriato è responsabilità dello sviluppatore.

Si applica a