Tablora

Tablora · Biblioteca

Tratar a marca de ordem de bytes da primeira célula

Uma marca de ordem de bytes UTF-8 pode vir antes do primeiro cabeçalho. O inspetor remove uma marca inicial, então a primeira célula mostra id sem nada escondido.

O caractere invisível antes do cabeçalho

Muitos programas, incluindo a opção CSV UTF-8 do Excel, começam um arquivo de texto com uma marca de ordem de bytes (BOM): o caractere U+FEFF, que diz a quem lê que o arquivo está em UTF-8. Ela é invisível na maioria dos editores, mas continua sendo um caractere. Quando uma ferramenta não a remove, o primeiro cabeçalho vira a marca seguida de id, e qualquer busca ou junção por uma coluna chamada id falha sem um motivo aparente.

O inspetor remove uma marca de ordem de bytes bem no início do texto colado, antes de ler qualquer célula. O primeiro cabeçalho fica então exatamente id.

Exemplo: o cabeçalho id,name

O exemplo da página é um cabeçalho id,name que começa com uma marca de ordem de bytes, seguido do registro 1,Mira, com a vírgula como “Delimitador”. O inspetor informa 2 linhas e 2 colunas, e a linha 1, coluna 1, mostra id, sem prefixo escondido.

Nada mais no texto é alterado: as outras células mantêm todos os caracteres que tinham.

Sem essa etapa, o primeiro cabeçalho pareceria idêntico na tela, mas seria diferente na comparação, que é exatamente o tipo de divergência difícil de ver.

Conferindo um arquivo que pode ter a marca

Marcas no meio do texto e nas exportações

Uma marca no meio do texto continua fazendo parte daquela célula. A remoção de cabeçalhos repetidos apara espaços e caracteres parecidos nas bordas das células antes de comparar, e essa aparagem também alcança uma marca de ordem de bytes no início de uma célula, então um cabeçalho repetido vindo de um segundo arquivo juntado ainda pode ser reconhecido. As células do resultado, porém, mantêm o caractere.

A exportação CSV do app Tablora começa de propósito com uma marca de ordem de bytes, para que as planilhas abram corretamente textos acentuados, em turco, japonês e outras escritas não latinas. Se você colar aqui um arquivo assim, o inspetor remove essa marca e o primeiro cabeçalho chega limpo.

Outros caracteres invisíveis

Espaços de largura zero e caracteres parecidos não são removidos. Se um cabeçalho continuar sem corresponder depois dessa etapa, procure-os na origem.

Dados de entrada

Texto da tabela
id,name 1,Mira
Delimitador
,

Resultados

Linhas
2
Colunas
2
idname
1Mira
Linhas com largura diferente
0