UnicodeEncoding.Preamble Propiedad

Definición

Obtiene una marca BOM Unicode codificada en formato UTF-16, si el objeto se ha configurado para proporcionarla.

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)

Valor de propiedad

ReadOnlySpan<Byte>

Intervalo de bytes que contiene la marca de orden de bytes Unicode, si este objeto está configurado para proporcionar uno; de lo contrario, el intervalo predeterminado.

Comentarios

El UnicodeEncoding objeto puede proporcionar un preámbulo, que es un intervalo de bytes que se puede anteponer a la secuencia de bytes resultante del proceso de codificación. Anteponer una secuencia de bytes codificados con una marca de orden de bytes (punto U+FEFFde código ) ayuda al descodificador a determinar el orden de bytes y el formato de transformación o UTF. La marca de orden de bytes Unicode (BOM) se serializa como se indica a continuación (en hexadecimal):

  • Orden de bytes big endian: FE FF

  • Orden de bytes little endian: FF FE

Puede crear una instancia de un UnicodeEncoding objeto cuya Preamble lista de materiales sea válida de las siguientes maneras:

Se recomienda usar la lista de materiales, ya que proporciona casi cierta identificación de una codificación para los archivos que, de lo contrario, han perdido una referencia a su codificación, como datos web no etiquetados o etiquetados incorrectamente o archivos de texto aleatorios almacenados cuando una empresa no tenía problemas internacionales. A menudo, es posible que se eviten problemas de usuario si los datos están etiquetados de forma coherente y correcta.

En el caso de los estándares que proporcionan un tipo de codificación, una BOM es algo redundante. Sin embargo, se puede usar para ayudar a un servidor a enviar el encabezado de codificación correcto. Como alternativa, se puede usar como reserva en caso de que, de lo contrario, se pierda la codificación.

El uso de una marca BOM tiene algunas desventajas. Por ejemplo, saber cómo limitar los campos de base de datos que usan una marca BOM puede ser difícil. La concatenación de archivos también puede ser un problema, por ejemplo, cuando los archivos se combinan de manera que un carácter innecesario puede acabar en el medio de los datos. Sin embargo, a pesar de los pocos inconvenientes, se recomienda encarecidamente el uso de una marca BOM.

Importante

Para asegurarse de que los bytes codificados se descodifican correctamente, debe anteponer el principio de una secuencia de bytes codificados con un preámbulo. Tenga en cuenta que el GetBytes método no antepone una lista de materiales a una secuencia de bytes codificados; proporcionar una BOM al principio de una secuencia de bytes adecuada es responsabilidad del desarrollador.

Se aplica a