UnicodeEncoding.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-16, 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 UnicodeEncoding objeto pode fornecer um preâmbulo, que é um intervalo de bytes que pode ser antecipado à sequência de bytes resultante do processo de codificação. Antecipar 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 da seguinte forma (em hexadecimal):
Ordem dos bytes big endian:
FE FFOrdem de bytes em little endian:
FF FE
Pode instanciar um UnicodeEncoding objeto cuja Preamble BOM é válida das seguintes formas:
Recuperando o UnicodeEncoding objeto devolvido pela Encoding.Unicode propriedade ou.Encoding.BigEndianUnicode
Chamando o construtor sem UnicodeEncoding() parâmetros para instanciar um UnicodeEncoding objeto.
Fornecendo
truecomo valor dobyteOrderMarkargumento aos UnicodeEncoding(Boolean, Boolean) construtores ou UnicodeEncoding(Boolean, Boolean, Boolean) .
Recomendamos que utilize a lista de comandos, pois 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.
Importante
Para garantir que os bytes codificados são decodificados corretamente, deve 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.