Permalänk
Medlem

Kan text filer vara olika?

Vi har fått en uppgift av vår lärare att skriva om följande fråga " kan textfiler vara olika" och enligt honom så är det ett stort ämne och vi är helt clueless

missade ett stavfel
Permalänk
Medlem

Textfiler kan ha olika teckenkodning. Vilket kan resultera att ifall man inte vet hur man skall avkoda filen så får man gibberish. Vilket är en ganska stor grej.

Visa signatur

i7 4770k 4.2 GHz delid | Asus Z97-E | 32GB 2133 MHz 12-13-12-37 1T DDR3 | Radeon 6600 | KC2500 2 TB + 840 EVO 1TB | Corsair AX860 Platinum | Define R4

"Once you go FLAC, you never go back!"

Permalänk
Medlem

Precis. Tänk på att datorn inte egentligen sparar text, den sparar en massa tal på hårddisken. Sedan krävs det att operativsystemet och/eller andra program översätter det till text på skärmen eller skrivaren.

Visa signatur

Det var enklare förr att skilja Asus moderkort åt:
Asus A7V -> Asus P5Q Pro -> Asus M4A88TD-V EVO/USB3

Permalänk
Medlem

två identiska textfiler kan inte vara olika, men två filer med samma text kan, utifrån datorns förutsättningar vara olika.

Visa signatur

i7 2600k | P8P67Deluxe | Noctua NH-D14 | KFA2 GTX1080 EXOC | Corsair 750W | Corsair Obsidian 800D | Dell U2412M
America's Army: Proving Grounds

Permalänk
Medlem

hur ska jag förklara varför inte tex docx kan öppnas i .txt osv

Permalänk
Medlem

Hejsan Stebus,

Skrivet av Stebus:

Vi har fått en uppgift av vår lärare att skriva om följande fråga " kan textfiler vara olika" och enligt honom så är det ett stort ämne och vi är helt clueless

Ja textfiler är olika i Unix och Dos.
En textfil i DOS avslutar varje rad med ett 0A följt av ett 0D (Line Break + Carrige Return)
En textfil i Unix lägger bara in ett 0A efter varje rad (Line Break)

Det finns simpla kommandon som omvandlar textfiler från DOS till Unix eller vice versa.
dos2unix respektive unix2dos

Permalänk
Medlem

En första delfråga: hur definierar du en textfil? .txt som är läsbar i notepad? Någon annan definition?

Visa signatur

Quad-quad core med kvävekylning och kokvattenreaktor.

Permalänk
Medlem
Skrivet av Stebus:

hur ska jag förklara varför inte tex docx kan öppnas i .txt osv

En liten liknelse: vad skulle hända om din lärare hade gett dig din hemuppgift skriftligt, på kinesiska?

Visa signatur

Quad-quad core med kvävekylning och kokvattenreaktor.

Permalänk
Medlem

Ännu en dålig liknelse :

Kan pepparkakor vara olika?
Ja, det kan dom. Alla vet vad det är, men recepten kan skilja sig åt! Det finns de som delar både form (innehåll) och recept (format), alternativt så kan de variera i både form och recept.

edit : usch vad dålig liknelse det blev. Men jag låter den vara kvar ändå.

Visa signatur

Speldator :[I] AMD 5600X - 16GB fläskigt ram - AMD 580RX - AOC 32" Wide
HTPC : i5 3450S - 8GB G.Skill - Streacom F8

Permalänk
Medlem

Som nämnts tidigare så vet datorn inte vad ett tecken är. När man sparar en textfil så väljer programmet man använder en teckenuppsättning (eng: encoding). Teckenuppsättningen bestämmer hur varje tecken ska sparas på hårddisken. Sedan sparas varje tecken i en eller kanske två bytes i en lång radda.

Som också nämnts tidigare så skiljer även andra saker, såsom radavslut, mellan olika system. I Unix och Linux avslutas rader med linefeed, LF, (radmatningstecknet, kommer av att gamla skrivare (och innan dess skrivmaskiner) matade fram papperet en rad i taget). I Windows används det mer logiska, men i datorns era överflödiga, carriage return + linefeed, CRLF (carriage return betyder att "vagnen" i skrivaren, den del som faktiskt skriver på papperet (eller rullen på en skrivmaskin) flyttas så att markören hamnar i början av raden igen). Öppnar man en Windows-textfil i Unix/Linux eller tvärt om så blir det ofta problem med detta och texten tenderar att hamna på en enda lång rad med konstiga tecken där radbrytningarna borde vara.

Det program som öppnar en textfil måste veta vilken teckenuppsättning som använts när filen sparades för att kunna tolka datat korrekt. Detta märks ofta av om man använder specialtecken, exempelvis å, ä eller ö.

Permalänk
Medlem
Skrivet av Stebus:

hur ska jag förklara varför inte tex docx kan öppnas i .txt osv

.docx och liknande är inte textfiler så jag ser inte relevansen i det.

Visa signatur

Assembly är ett högnivåspråk.