L'incompatibilité entre les fichiers créés sous Macintosh OS et Windows provenait principalement de différentes approches pour :
* Systèmes de fichiers : Les premiers Mac utilisaient le système de fichiers hiérarchique (HFS), qui a ensuite évolué vers HFS+. Windows utilisait (et utilise encore largement des variantes) du système FAT (File Allocation Table), initialement FAT12 et FAT16, puis plus tard NTFS. Ces systèmes structuraient différemment les fichiers et les répertoires sur le disque. Cela signifiait qu'un disque formaté pour un système d'exploitation n'était pas directement lisible par l'autre.
* Fin de ligne : Les fichiers texte utilisaient différents caractères pour marquer la fin d'une ligne. Macintosh utilisait un seul caractère de retour chariot (CR), tandis que Windows utilisait un retour chariot suivi d'un saut de ligne (CRLF). Cela pourrait conduire à ce que les fichiers texte apparaissent tronqués ou mal formatés lorsqu'ils sont ouverts sur l'autre système.
* Encodage des caractères : Les premières versions des deux systèmes d'exploitation utilisaient différents codages de caractères (façons de représenter les caractères du texte sous forme de nombres) pour représenter le texte. Cela entraînait souvent l'apparition de caractères sous forme de charabia ou de symboles inattendus lors du transfert d'un fichier entre systèmes.
* Formats de fichiers : Alors que certains formats de fichiers étaient relativement indépendants de la plate-forme (comme le texte brut, même si les fins de ligne constituaient déjà un problème), de nombreux formats de fichiers spécifiques à une application (par exemple, les documents de traitement de texte, les feuilles de calcul) étaient propriétaires et directement lisibles uniquement par les applications sur leur système d'exploitation natif. Cela signifiait qu'un document Word créé sur un Mac ne pouvait pas être ouvert directement dans une version Windows de Word (et vice versa).
* Données binaires et ordre des octets : Dans certains cas, la manière dont les données binaires (comme les fichiers image, les exécutables, etc.) étaient stockées en interne différait. Cela était particulièrement pertinent pour l'ordre des octets (endianness), certains systèmes stockant les données dans l'ordre big-endian et d'autres dans small-endian. Tenter d'ouvrir un fichier binaire créé sur un système en utilisant un ordre d'octet différent pourrait entraîner des données corrompues ou illisibles.
Essentiellement, il ne s'agissait pas seulement du fichier lui-même, mais de la manière dont le système d'exploitation gérait et stockait les données sur le disque. Au fil du temps, ces incompatibilités ont été réduites avec l'essor de formats de fichiers multiplateformes (comme le PDF, divers formats d'image), des normes améliorées de codage de caractères (comme UTF-8) et des outils capables de traduire entre les systèmes de fichiers et de gérer différentes fins de ligne. Cependant, les applications et fichiers existants présentent encore fréquemment ces incompatibilités.
|