UTF8Encoding.Preamble Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Recebe uma marca de ordem de byte Unicode codificada em formato UTF-8, se este objeto estiver configurado para fornecer uma.
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 Propriedade
Um intervalo de bytes contendo a marca de ordem de bytes Unicode, se este objeto estiver configurado para fornecer um; caso contrário, o intervalo padrão.
Observações
O UTF8Encoding objeto pode fornecer um preâmbulo, que é um intervalo de bytes que pode ser precedido pela sequência de bytes resultante do processo de codificação. Introduzir uma sequência de bytes codificados com uma marca de ordem de bytes (ponto U+FEFFde código) ajuda o descodificador a determinar a ordem dos bytes e o formato de transformação, ou UTF. A marca de ordem dos bytes Unicode (BOM) é serializada como 0xEF 0xBB 0xBF. Note-se que o Padrão Unicode não exige nem recomenda o uso de uma lista de materiais para fluxos codificados em UTF-8.
Pode instanciar um UTF8Encoding objeto cuja Preamble BOM é válida das seguintes formas:
Recuperando o UTF8Encoding objeto devolvido pela Encoding.UTF8 propriedade.
Ao chamar um UTF8Encoding construtor com um
encoderShouldEmitUTF8Identifierparâmetro e definir o seu valor paratrue.
Todos os outros UTF8Encoding objetos estão configurados para devolver um intervalo padrão em vez de uma lista de materiais válida.
A LISTA de Materiais fornece uma identificação quase certa de uma codificação para ficheiros que, de outra forma, perderam a referência à sua codificação, como dados web não etiquetados ou incorretamente ou ficheiros de texto aleatórios armazenados quando uma empresa não tinha preocupações internacionais. Muitas vezes, os problemas do utilizador podem ser evitados se os dados forem etiquetados de forma consistente e adequada.
Para normas que fornecem um tipo de codificação, uma BOM é algo redundante. No entanto, pode ser usado para ajudar um servidor a enviar o cabeçalho de codificação correto. Alternativamente, pode ser usado como plano B caso a codificação se perca.
Existem algumas desvantagens em usar uma lista de materiais (BOM). Por exemplo, saber como limitar os campos da base de dados que utilizam uma lista de materiais pode ser difícil. A concatenação de ficheiros também pode ser um problema, por exemplo, quando os ficheiros são fundidos de tal forma que um carácter desnecessário pode acabar no meio dos dados. Apesar das poucas desvantagens, a utilização de uma lista de materiais é altamente recomendada.
Para obter mais informações sobre a ordem de bytes e a marca de ordem de bytes, consulte O padrão Unicode na home page Unicode.
Importante
Para garantir que os bytes codificados são decodificados corretamente quando são guardados como ficheiro ou como fluxo, pode prefixar o início de um fluxo de bytes codificados com um preâmbulo. Note-se que o GetBytes método não antepõe uma lista de materiais a uma sequência de bytes codificados; fornecer uma lista de materiais no início de um fluxo de bytes apropriado é responsabilidade do programador.