Tekstfil
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.
- Javaprogrammer og Java-applets
- Programmer skrevet i C, C# og C++
- Programmer skrevet i assembler-kode
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å
- Teksteditor
- Notepad - standard Microsoft Windows teksteditor
Fodnoter
- ^ Lewis, John (2006). Computer Science Illuminated. Jones and Bartlett. ISBN 0-7637-4149-3.
- ^ 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.
- ^ 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
- ^ 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
- ^ 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
- ^ 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
- ^ 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
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.