Tekstfil

Udsnit fra logfil i tekstformat.

En tekstfil (med tekstfilformat; kortere tekstformat) kan være flere forskellige filformater (fx US-ASCII og unicode (fx UTF-8)). En fil med filendelsen ".txt" signalerer at filen er en tekstfil. (På et generisk beskrivelsesniveau er der grundlæggende to slags computerfilformater: Tekstfiler og binærfiler.[1])

Tekstfiler er i modsætning til andre typer computerfiler karakteristisk ved, at indholdet er menneskeligt læsbart og samtidigt ikke indeholder nogen skjulte formatteringskoder sådan som f.eks. en fil skabt med et tekstbehandlingsprogram. De eneste koder, der forekommer, som ikke er umiddelbart synlige, er koder til markering af linieslut, linieskift, tabulering, slutmarkering og lignende helt fundamentale ting. Disse koder ignoreres i forbindelse med maskinel fortolkning af indholdet.

Den simple form gør formatet velegnet til inspektion og udvikling samt til lagring af informationer, der skal kunne læses i og redigeres i af enhvert basalt editor-program, herunder Window's Notepad. Desuden gør simpelheden formatet velegnet til udveksling af data mellem forskellige systemer

Nogle af de vigtigste "usynlige" formateringskoder, der kan forekomme i tekstfiler (ASCII) er følgende:[2]

Dec  Oct  Hex  Bin      HTML
008  010  008  0001000     BS     backspace                   
009  011  009  0001001  	   HT     Horizontal Tab              (vandret tabulering) 
010  012  00A  0001010  
   LF     Line Feed                   (ny linje) 
011  013  00B  0001011     VT     Vertical Tab                (lodret tabulering)
012  014  00C  0001100     FF     Form Feed                   
013  015  00D  0001101  
   CR     Carriage Return             (retur)

Signalering af "ny linje"

Signalering af "ny linje" har ikke et standardtegn eller standardtegnssammensætning. I tekstfiler benyttes følgende, som typisk afhænger at anvendt styresystem, og anvendt teksteditorkonfiguration/filvalg:[3][4][5]

  • indlejret signalering af "ny linje" (engelsk newline eller end of line) - nogle eksempler:
    • Unix og unix-lignende (incl. MacOS(X)(>=10)) - består af styretegnet: \n eller ASCII-linefeed (LF)
    • Microsoft Windows, DOS - består af styretegnet: \r efterfulgt af \n - eller ASCII-carriage-return (CR) efterfulgt ASCII-linefeed (LF)
    • Mac Classic Mac OS(<10) - består af styretegnet: \r eller ASCII-carriage-return (CR)

Ovenstående har historisk været og er i dag en stor udfordring, når man skal arbejde sammen på tværs af styresystemer og skal udveksle tekstfiler (fx kildekode) med andre som arbejder på andre styresystemer. Man bør som en del af dataintegriteten rydde op i "ny linje"-signaleringen.[6][7] Gør man ikke det, kan der ske besynderlige ting, når andre skal editere (i bedste fald vises mystiske grafiksymboler) - og oversætte kildekode. Mange oversættere kan ikke behandle "forkerte" "ny linje"-signaleringer.

Nogle anvendelseseksempler (langt fra komplet liste)

  • Systemfiler af betydning for computerens eller visse computerprogrammers organisering og opsætning.
    • Initieringsfiler (med filtypebetegnelsen .ini)
    • Logfiler
  • Batchfiler og lignende kommandofiler vedrørende udførelse af DOS-programmer eller igangsætning af compilering af computerprogrammer.
  • Fortolkede formater
    • HTML-filer eller XHTML-filer (med en af filtypeendelserne .html, .htm eller .xhtml)
    • Javascript-kode (med filtypeendelsen .js – hvis ikke integreret i HTML-dokumenter)
    • ASP-kode og ASPX-kode (med en af filtypeendelserne .asp eller .aspx)
    • PHP-kode (med filtypeendelsen .php)
    • XML-kode (med filtypebetegnelse .xml)
    • VRML-kode (med filtypebetegnelsen .wrl)
    • include-filer af forskellig art (med filtypebetegnelsen .inc)
    • Fortolket programkode, f.eks. skrevet i Basic eller COMAL
  • Ressourcefiler
    • Cascading Style Sheets (med filtypeebetegnelsen .css – hvis ikke integreret i HTML-dokumenter)
    • Kommaseparerede databasefiler
    • Kommaseparerede tabeller beregnet på indlæsning i regneark
  • Kildefiler i forbindelse med systemudvikling og programmering af f.eks.

I forbindelse med programmering compileres kildekoden af en compiler til enten ren maskinkode (C og C++) eller til en komprimeret abstrakt bytekode (Java), der i modsætning til ren maskinkode er platformsuafhængig. Det man almindeligvis forstår ved software er sådan maskinlæsbar og dermed lynhurtigt eksekverbar kode.

Af de fortolkede tekstformater er XML-formatet (Expanable Markup Language) interessant ved at være så fleksibelt, at det kan benyttes til mange forskellige former for opbevaring og transmission af data, herunder bl.a. vektorgrafik.

Se også

Fodnoter

  1. ^ Lewis, John (2006). Computer Science Illuminated. Jones and Bartlett. ISBN 0-7637-4149-3.
  2. ^ http://www.netexplorer.dk/DIVERSE_ARTIKLER/07-tegn.php ASCII og ISO-8859 De mest anvendt tegnsæt er latin-1 samt anvendelsen af ASCII koderne.
  3. ^ ccrma.stanford.edu: flip: Newline conversion between Unix, Macintosh and MS-DOS ASCII files Citat: "...ASCII text files can contain different forms of newlines, depending on which operating system is being used...If you edit a MS-DOS ASCII file in Unix you will often see the characters ^M at the end of the line. This is the extra character 0x0d that is used to indicate a new line of text in MS-DOS. More recent versions of vi and emacs automatically detect the newline style of the file and will use that style when editing the file, keeping the newlines consistent... If you edit a Mac-style text file in Unix (depending on the editor), you will see the entire file on a single line with ^M characters displayed instead of newlines...", backup
  4. ^ April 30, 2014, endpointdev.com/blog/: Convert Line Endings of Mac and Windows to Unix in Rails and Test with RSpec Citat: "...The line endings special character(s) vary across the operating systems...", backup
  5. ^ franz.com: Support for any newline format in text input Citat: "...Exchanging text between computer systems is easy thanks to character encoding standards such as ASCII, Unicode, and other widely used standards. The ease of text exchange, though, is marred by different computer systems using different line break conventions...These differing conventions cause problems as text using the older Macintosh convention may be interpreted by a Unix application as consisting of a single line, since there will likely be no linefeed characters. Similarly, a Unix text may appear as a single line to a Windows application. In addition, a Windows file will appear to have extra characters at the ends of each line when transported to either a Unix or Macintosh application...", backup
  6. ^ oreilly.com: A Line Break Is a Line Break. A line break is a line break is a line break, except when it’s not. Surprisingly, there are three different types of line breaks in the modern computing world, and OS X uses two of the three Citat: "...See that ugly ^M character stuck in the middle of our two sentences? That’s the best vi (and most Unix applications) can do in an attempt to display a Mac linefeed. Likewise, if you open a text file crafted in vi with SimpleText, you’ll see square boxes where there should be line breaks. Obviously, this wreaks havoc with any attempt at poetry — or system administration, for that matter...", backup
  7. ^ confluence.qps.nl: Differences in end of line characters Mac, Windows, and Linux Citat: "...How the end of the lines are stored is different depending on if you are using Windows, Macintosh, or Unix. There are two different characters that are not visible that are used to indicate the end of a line...", backup

Medier brugt på denne side

VDCP session log.png
Extract from the session log of a VDCP communication between a server and a controller. The controller has issued a play command and the server has just finished playing the clip.