UTF32Encoding.Preamble Propriedade
Definição
Obtém uma marca de ordem de byte Unicode codificada no formato UTF-32 caso o objeto de codificação esteja configurado para fornecer uma.Gets a Unicode byte order mark encoded in UTF-32 format, if this object is configured to supply one.
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 da propriedade
Um intervalo de bytes que contém a marca de ordem de byte Unicode, se esse objeto estiver configurado para fornecer um; caso contrário, um Span padrão.A byte span containing the Unicode byte order mark, if this object is configured to supply one; otherwise, a default span.
Comentários
O UTF32Encoding objeto pode fornecer um preâmbulo, que é um intervalo de bytes que pode ser prefixado para a sequência de bytes resultante do processo de codificação.The UTF32Encoding object can provide a preamble, which is an span of bytes that can be prefixed to the sequence of bytes resulting from the encoding process. A Preface de uma sequência de bytes codificados com uma marca de ordem de byte (pontos de código U+0000 U+FEFF ) ajuda o decodificador a determinar a ordem de bytes e o formato de transformação, ou UTF.Prefacing a sequence of encoded bytes with a byte order mark (code points U+0000 U+FEFF) helps the decoder determine the byte order and the transformation format, or UTF. A BOM (marca de ordem de byte) Unicode é serializada da seguinte maneira (em hexadecimal):The Unicode byte order mark (BOM) is serialized as follows (in hexadecimal):
Ordem de bytes big endian:
00 00 FE FFBig endian byte order:00 00 FE FFOrdem de byte little endian:
FF FE 00 00Little endian byte order:FF FE 00 00
Você pode criar uma instância de um UTF32Encoding objeto cuja Preamble propriedade é uma bom válida das seguintes maneiras:You can instantiate a UTF32Encoding object whose Preamble property is a valid BOM in the following ways:
Recuperando o UTF32Encoding objeto retornado pela Encoding.UTF32 propriedade.By retrieving the UTF32Encoding object returned by the Encoding.UTF32 property.
Chamando o construtor sem parâmetros UTF32Encoding() para criar uma instância de um UTF32Encoding objeto.By calling the parameterless UTF32Encoding() constructor to instantiate a UTF32Encoding object.
Fornecendo
truecomo o valor dobyteOrderMarkargumento para os UTF32Encoding UTF32Encoding construtores e.By supplyingtrueas the value of thebyteOrderMarkargument to the UTF32Encoding and UTF32Encoding constructors.
É recomendável que você use a BOM, já que ela fornece praticamente determinada identificação de uma codificação para arquivos que, de outra forma, perderam uma referência ao UTF32Encoding objeto, como dados da Web não marcados ou marcados incorretamente, ou arquivos de texto aleatórios armazenados quando um negócio não tinha preocupações internacionais ou outros dados.We recommend that you use the BOM, since it provides nearly certain identification of an encoding for files that otherwise have lost a reference to the UTF32Encoding object, such as untagged or improperly tagged web data, or random text files stored when a business did not have international concerns or other data. Geralmente, problemas de usuário podem ser evitados se os dados estiverem marcados de forma consistente e apropriada.Often, user problems might be avoided if data is consistently and properly tagged.
Para padrões que fornecem um tipo de codificação, uma BOM é um pouco redundante.For standards that provide an encoding type, a BOM is somewhat redundant. No entanto, ele pode ser usado para ajudar um servidor a enviar o cabeçalho de codificação correto.However, it can be used to help a server send the correct encoding header. Como alternativa, ele pode ser usado como um fallback, caso a codificação seja perdida.Alternatively, it can be used as a fallback in case the encoding is otherwise lost.
Há algumas desvantagens em usar uma BOM.There are some disadvantages to using a BOM. Por exemplo, saber como limitar os campos de banco de dados que usam uma BOM pode ser difícil.For example, knowing how to limit the database fields that use a BOM can be difficult. A concatenação de arquivos também pode ser um problema, por exemplo, quando os arquivos são mesclados de forma que um caractere desnecessário possa terminar no meio dos dados.Concatenation of files can be a problem also, for example, when files are merged in such a way that an unnecessary character can end up in the middle of data. No entanto, apesar das poucas desvantagens, o uso de uma BOM é altamente recomendável.In spite of the few disadvantages, however, the use of a BOM is highly recommended.
Para obter mais informações sobre a ordem de bytes e a marca de ordem de byte, consulte o padrão Unicode na Home Page Unicode.For more information on byte order and the byte order mark, see The Unicode Standard at the Unicode home page.
Importante
Para garantir que os bytes codificados sejam decodificados corretamente, você deve prefixar bytes codificados com um preâmbulo.To ensure that the encoded bytes are decoded properly, you should prefix encoded bytes with a preamble. Observe que o GetBytes método não precede uma bom para uma sequência de bytes codificados; fornecer uma bom no início de um fluxo de bytes apropriado é a responsabilidade do desenvolvedor.Note that the GetBytes method does not prepend a BOM to a sequence of encoded bytes; supplying a BOM at the beginning of an appropriate byte stream is the developer's responsibility.