Tablora

Tablora · Bibliotheek

De bytevolgordemarkering van de eerste cel verwerken

Voor de eerste koptekst kan een UTF-8-byte-ordermarkering staan. De structuurcontrole verwijdert één markering vooraan, zodat de eerste cel gewoon id luidt.

Het onzichtbare teken voor de koprij

Veel programma's, waaronder de optie CSV UTF-8 van Excel, beginnen een tekstbestand met een byte-ordermarkering: het teken U+FEFF, dat de lezer vertelt dat het bestand UTF-8 gebruikt. In de meeste editors blijft het onzichtbaar, maar het blijft een teken. Haalt een tool het niet weg, dan bestaat de eerste koptekst uit de markering gevolgd door id, en mislukt elke zoekactie of koppeling op een kolom met de naam id zonder duidelijke reden.

De structuurcontrole verwijdert één byte-ordermarkering helemaal aan het begin van de geplakte tekst, voordat ze cellen leest. De eerste koptekst luidt dan precies id.

Voorbeeld: de koprij id,name

Het voorbeeld op de pagina bestaat uit een koprij id,name die begint met een byte-ordermarkering, gevolgd door het record 1,Mira, met komma als Scheidingsteken. De structuurcontrole meldt 2 rijen en 2 kolommen, en in rij 1, kolom 1 staat id, zonder verborgen voorvoegsel.

Verder verandert er niets aan de tekst: andere cellen houden elk teken dat ze hadden.

Zonder die stap zou de eerste koptekst er op het scherm hetzelfde uitzien maar bij een vergelijking verschillen, en precies zo'n verschil valt moeilijk op te merken.

Een bestand controleren dat een markering kan dragen

Markeringen midden in de tekst en in exports

Een markering midden in de tekst blijft deel van die cel. De opschoning van herhaalde koprijen knipt voor de vergelijking spaties en vergelijkbare tekens aan de randen van cellen weg, en dat bijknippen vangt ook een byte-ordermarkering aan het begin van een cel op, zodat een herhaalde koprij uit een tweede samengevoegd bestand toch herkend kan worden. De cellen in je uitvoer houden het teken echter wel.

De CSV-export van de Tablora-app begint met opzet met een byte-ordermarkering, zodat spreadsheets tekst met accenten en Turkse, Japanse en andere niet-Latijnse tekst correct openen. Plak je zo'n bestand hier, dan verwijdert de structuurcontrole die markering en komt de eerste koptekst schoon door.

Andere onzichtbare tekens

Spaties zonder breedte en vergelijkbare tekens worden niet verwijderd. Komt een koptekst na deze stap nog steeds niet overeen, zoek er dan naar in de bron.

Invoer

Tabeltekst
id,name 1,Mira
Scheidingsteken
,

Resultaten

Rijen
2
Kolommen
2
idname
1Mira
Rijen met een afwijkende breedte
0