Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 48991|Resposta: 3

[Fonte] .NET/C# para determinar se uma tag BOM está incluída

[Copiar link]
Publicado em 16/07/2021 13:22:54 | | | |
O que é BOM?

A marca de ordem de bytes (BOM), ou marca de ordem de byte, é uma marca especial inserida em um arquivo Unicode codificado com UTF-8, UTF16 ou UTF-32 para identificar o tipo de codificação de um arquivo Unicode. Para UTF-8, uma lista de materiais não é necessária, pois ela é usada para marcar o tipo de codificação e a ordem dos bytes (big-endian ou little-endian) de um arquivo codificado com múltiplos bytes. No UTF-8, o número de bits codificados para cada caractere é expresso pelo primeiro byte, e não há distinção entre big-endian e little-endian.
O UTF-8 não requer uma lista de materiais (BOM), embora o padrão Unicode permita o uso de BOMs no UTF-8. Portanto, UTF-8 sem LISTA de Materiais é o formato padrão, e é principalmente hábito da Microsoft colocar uma LISTA de Materiais em um arquivo UTF-8 (aliás: também é hábito da Microsoft chamar UTF-16 com uma LISTA de Materiais de "Unicode" sem entrar em detalhes).
As listas de materiais são preparadas para UTF-16 e UTF-32 para marcar a ordem dos bytes. A Microsoft usa a BOM no UTF-8 porque permite uma distinção clara entre codificação UTF-8 e ASCII; caso contrário, abrir um arquivo CSV no Excel pode ficar confuso. Mas esse tipo de arquivo pode causar problemas em sistemas operacionais que não sejam o Windows.
A diferença entre "UTF-8" e "UTF-8 com BOM" está em existir ou não uma BOM. Ou seja, se há um U+FEFF no início do arquivo.
O código web UTF-8 não deve usar listas de comum, caso contrário, erros são comuns. Ao exportar um arquivo CSV a partir da resposta http, ele não é incluído por padrão quando configurado para utf8
BOM, mas o Windows Excel usa BOM para confirmar a codificação UTF8, e todos precisam escrever BOM no início do arquivo.



Quando você desenvolve um gerador de código Java pela primeira vez, coloca o arquivo diretamenteEscrever em um arquivo UTF-8 que contenha a tag BOMIsso levará a erros de embalagem, conforme segue:

Personagens ilegais: '\ufeff'


Como uso .NET / C# para determinar se um arquivo contém tags de BOM? , o código é o seguinte:





Colegas, anexadosConverte o formato UTF-8 BOM para o formato UTF-8 (sem tags BOM), o código completo é o seguinte:

(Fim)

Pontuação

Número de participantes1MB+1 contribuir+1 Colapso razão
Mo Feng 123 + 1 + 1 Muito poderoso!

Veja todas as classificações





Anterior:O SQL SERVER remove a função de exclusão de partição e o esquema de partição
Próximo:A área de espaço de cada tabela no banco de dados SQL Server
Publicado em 16/07/2021 22:41:40 |
 Senhorio| Publicado em 01/11/2024 15:00:47 |
UTF-8 remove a tag BOM

 Senhorio| Publicado em 25/06/2025 16:13:03 |
UTF-8 não escreve para a lista de materiais
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com