Tekstfil

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 28. maj 2022; checks kræver 5 redigeringer .
Tekstfil
MIME-type tekst/almindelig
Modsatte binær fil og grafikfil
Filtypenavn .txteller.text
 Mediefiler på Wikimedia Commons

En tekstfil  er en computerfil , der indeholder tekstdata . Tekstfiler er i modsætning til binære (binære) filer , som indeholder data, der ikke er designet til at blive fortolket som tekst (f.eks. filer, der lagrer tekst i en kodet eller komprimeret form, eller som ikke lagrer tekst, men lyd, billede eller andet data).

I modsætning til udtrykket "tekstdata" (tekstdataformat), som karakteriserer indholdet af data, refererer udtrykket "tekstfil" til en fil og karakteriserer den som en beholder, der gemmer sådanne data.

Beskrivelse

En tekstfil indeholder en sekvens af tegn (for det meste udskrevne tegn, der tilhører et eller andet tegnsæt ). Disse tegn er normalt grupperet i linjer ( engelske  linjer, rækker ). I moderne systemer er linjer adskilt af linjeseparatorer , mens strenge tidligere blev gemt som poster med konstant eller variabel længde (se: Hulkort ). Nogle gange er slutningen af ​​en tekstfil (især hvis filsystemet ikke gemmer oplysninger om filstørrelsen) også markeret med et eller flere specialtegn kendt som ende-på-fil- markører .

Fordele og ulemper

Fordele:

Fejl:

Formater baseret på tekstfiler

På grund af deres enkelhed bruges tekstfiler ofte til at gemme serviceoplysninger (for eksempel logfiler ): da operationen med at tilføje nye data til slutningen af ​​en tekstfil ikke kræver nogen væsentlige computerressourcer, uanset filstørrelsen, der allerede er tilgængelig og typen af ​​tekstdata, der tilføjes, vedligeholdes tekstlogfiler normalt effektivt og umærkeligt for brugeren og for andre applikationer (op til opbrugt diskplads).

Tekstformatet fungerer som grundlag for mange mere specialiserede formater (f.eks . .ini , SGML , HTML , XML , TeX , programmeringssprogskildekode ). I nogle af disse formater kan visse kombinationer af tegn bruges som tekstmarkeringer. I dette tilfælde kan filen gemme formateret tekst, hvori skrifttype, stil, størrelse osv. yderligere kan specificeres for tegn (f.eks. Rich Text Format , HTML ).

Filnavneudvidelser

DOS , macOS og Windows bruger almindelige tekstfiler typisk filtypenavnet .txt . Tekstfiler kan dog være med eller uden nogen anden udvidelse. For eksempel er programkildekoder normalt gemt i filer med filtypenavne svarende til det programmeringssprog , som programmerne er skrevet på ( .java , .bas , .pas , .c ).

Formateret tekst (tekst med markup) gemmes normalt i filer med en filtype, der svarer til formatet eller markupsproget  - .rtf , .htm , .html .

Kodninger

8-bit tekst

Historisk set er 7- bit ASCII - tegnsættet såvel som 8-bit EBCDIC og forskellige ASCII-udvidelser blevet brugt til at kode tekstfiler . I 8-bit tegntabeller er det almindeligt at bruge tegn svarende til ASCII i første halvdel af kodetabellen.

Fordelen ved 8-bit tekstrepræsentation er programmatisk enkelhed og uafhængighed af problemer med byterækkefølge eller maskinordlængde . Ulempen er et stort antal forskellige standarder, som kan føre til inkompatibilitet.

Unicode i tekstfiler

Brugen af ​​Unicode i tekstfiler, selv om det grundlæggende løser "kodningsproblemet" og standardiserer brugen af ​​kontroltegn, skaber sine egne problemer. I de fleste moderne systemer er den udelelige informationsenhed i en datastrøm en byte (8 bit) , som kræver flere for at kode et tegn fra Unicode. Løsningen er at bruge inkompatible UTF-8- systemer og to versioner af UTF-16 (UTF-16LE og UTF-16BE med modsat endian ). Nogle gange tilføjes et særligt markørtegn (U+FEFF [1] ) i begyndelsen af ​​filen, som gør det muligt at genkende formatet entydigt. UTF-8 har den fordel at være bagudkompatibel med ASCII, men programmatisk tekstbehandling i UTF-8 er kompliceret af den variable tegnstørrelse. Unicode-tekster er også endnu mere overflødige end 8-bit tekster.

Kontroltegn

Forskellige operativsystemer har deres egen måde at repræsentere newlines og end-of-file på. I UNIX består et linjeskift af et enkelt LF-tegn (kode 0xA), på Mac OS (men ikke macOS ) består det af et CR-tegn (kode 0xD), og i DOS og Windows er et linjeskift kodet som en sekvens af to tegn: CR og LF.

Denne uoverensstemmelse er dikteret af principperne for drift af skrivemaskiner: For at flytte til en ny linje skal du returnere vognen til begyndelsen af ​​linjen ( vognretur ), og derefter dreje tromlen en linje ( line feed ). Når man udskriver på en printer, kan det ene og det andet tegn skille sig ud (for eksempel for at vælge en linje ved at udskrive den to gange, eller for at rulle tromlen i flere linjer), men det er ikke nødvendigt i tekstfiler.

Ud over de navngivne er der i tekstfiler sådanne tegn som tabulering (kode 9) og sidefeed (kode 0xC). Sidstnævnte blev brugt af gamle teksteditorer som LEXICON , samt i filer beregnet til udskrivning på en printer.

Noter

  1. Unicode-standarden, del 2. . Hentet 11. august 2008. Arkiveret fra originalen 22. april 2021.