julgamento preciso da codificação da string é crucial para o processamento de dados de texto de diferentes fontes. Este artigo explorará como atingir esse objetivo com eficiência em C#.
Existem várias maneiras de determinar a codificação de uma string sem declaração explícita:
combina todos os três métodos para determinar a codificação de uma string, a primeira das quais é a detecção BOM. Se o BOM não for encontrado, o código usará um detector para identificar heuristicamente codificações comuns, como UTF-8 e UTF-16. Finalmente, se nenhuma codificação adequada for encontrada, ela voltará à página de código padrão do sistema.
Este código não apenas detecta a codificação, mas também retorna o texto decodificado para fornecer as informações necessárias integralmente.
O seguinte código C# implementa esta solução:
public Encoding detectTextEncoding(string filename, out String text, int taster = 1000)
{
// 检查BOM
// 为简洁起见省略
// 基于探测器的编码检测
bool utf8 = false;
int i = 0;
while (i
Para usar este código, forneça o caminho do arquivo como a string e recupere o texto codificado e decodificado detectado como os parâmetros de saída. Aqui está um exemplo:
`` `C# texto de string; Codificação Encoding = DetectTextEncoding ("my_file.txt", texto out); Console.WriteLine ("codificação detectada:" coding.encodingName); Console.WriteLine ("texto decodificado:" texto); `` `No geral, esse código fornece uma maneira poderosa de determinar a codificação de strings em C#, alavancando as verificações BOM e heurísticas para garantir uma detecção precisa.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3