De incompatibiliteit tussen bestanden die op Macintosh OS en Windows zijn gemaakt, kwam voornamelijk voort uit verschillende benaderingen van:
* Bestandssystemen: Vroege Macs gebruikten het Hierarchical File System (HFS), dat later evolueerde naar HFS+. Windows gebruikte (en gebruikt nog steeds grotendeels varianten van) het File Allocation Table (FAT) -systeem, aanvankelijk FAT12 en FAT16, en later NTFS. Deze systemen structureerden bestanden en mappen op de schijf anders. Dit betekende dat een schijf die voor het ene besturingssysteem was geformatteerd, niet direct leesbaar was voor het andere.
* Regeleinden: Tekstbestanden gebruikten verschillende tekens om het einde van een regel te markeren. Macintosh gebruikte een enkel Carriage Return-teken (CR), terwijl Windows een Carriage Return gebruikte, gevolgd door een Line Feed (CRLF). Dit kan ertoe leiden dat tekstbestanden er onleesbaar uitzien of onjuist zijn geformatteerd wanneer ze op een ander systeem worden geopend.
* Tekencodering: Vroege versies van beide besturingssystemen gebruikten verschillende tekencoderingen (manieren om teksttekens als cijfers weer te geven) om tekst weer te geven. Dit resulteerde vaak in het verschijnen van tekens als wartaal of onverwachte symbolen wanneer een bestand tussen systemen werd overgedragen.
* Bestandsformaten: Hoewel sommige bestandsformaten relatief platformonafhankelijk waren (zoals platte tekst, hoewel zelfs dan regeleinden een probleem waren), waren veel applicatiespecifieke bestandsformaten (bijvoorbeeld tekstverwerkingsdocumenten, spreadsheets) bedrijfseigen en alleen direct leesbaar voor applicaties op hun eigen besturingssysteem. Dit betekende dat een Word-document dat op een Mac was gemaakt, niet rechtstreeks in een Windows-versie van Word kon worden geopend (en omgekeerd).
* Binaire gegevens en bytevolgorde: In sommige gevallen verschilde de manier waarop binaire gegevens (zoals afbeeldingsbestanden, uitvoerbare bestanden enz.) intern werden opgeslagen. Dit was vooral relevant voor de bytevolgorde (endianness), waarbij sommige systemen gegevens in big-endian-volgorde opslaan en andere in little-endian. Als u probeert een binair bestand te openen dat op een systeem is gemaakt met een andere bytevolgorde, kan dit leiden tot beschadigde of onleesbare gegevens.
In wezen ging het niet alleen om het bestand zelf, maar om de hele manier waarop het besturingssysteem gegevens op schijf beheerde en opsloeg. In de loop van de tijd zijn deze incompatibiliteiten verminderd door de opkomst van meer platformonafhankelijke bestandsformaten (zoals PDF en verschillende afbeeldingsformaten), verbeterde karaktercoderingsstandaarden (zoals UTF-8) en tools die kunnen vertalen tussen bestandssystemen en verschillende regeleinden kunnen verwerken. Oudere applicaties en bestanden vertonen echter nog steeds vaak deze incompatibiliteit. |