2

If you have a USB memory stick that is shared between a computer running Windows and OS X then the best option is to format with FAT as this is understood by both filesystems. Why isn't this a problem when transferring files by other methods, such as email? For example I can email a jpeg from my Windows computer and open it on a Mac and it would work. But since they have different file systems doesn't that mean the data was stored differently and needed to be translated? If this isn't the case, why does the problem exist with USB memory drives?

I'm guessing my error is that the file system only determines how the storage is red, not how the contents are actually stored?

  • 3
    I'm not sure I follow what the question is. The file is what contains the data. Anything that knows how to open its filetype can use it. The file and its contents don't change in different environments. If you want to save the file on a storage device, the filesystem used on that device determines how information about the file is stored (directory information, attributes, permissions, etc.). Just as there are different filetypes, there are different filesystems available for use with storage devices. The developers of different OSes have chosen what filesystems will be natively supported. – fixer1234 Feb 17 '17 at 7:49
  • @fixer1234 why do you need to format a USB memory stick to FAT32 when transferring files between Mac and Windows? – Celeritas Feb 17 '17 at 7:56
  • 2
    If you use some other means to transfer a file you usually end up with some intermediate, standardized format. If you look at E-Mail a File Attachment gets translated into a base64 string as E-Mail is a clear text format it's entirely human readable (but not necessarily understandable). The actual problem also exist if you use a network to transfer files (little vs. big endian) but at some point they decided on to always use big endian. – Seth Feb 17 '17 at 7:58
  • 3
    There is an implied filesystem conversion, but it is not done with the agreement of the email clients. The email client reads data on an NTFS system and gets a block of data that is a JPEG image. It sends it out in a simple common wrapper and says "here is some data, do with it as you wish". It has no filesystem information whatsoever at that point, it is literally just a data block that happens to contain a JPEG image. The receiving email client sees a block of data, decodes it and finds a JPEG image, then you save it locally on your own system in whatever filesystem that computer has. – Mokubai Feb 17 '17 at 8:13
  • 2
    There's no translation at all. The file, itself, doesn't change regardless of how it's sent or stored or transferred (ignoring temporary handling in transit). When you do store it, the file isn't changed. The filesystem defines how things about the file are stored (how to find it on the device and metadata associated with the file). Each OS has certain filesystems it knows how to read natively, and additional ones you can teach it to use with drivers. That's just about finding it on the device and getting it on and off. You just need a filesystem both OSes know how to use. – fixer1234 Feb 17 '17 at 8:19
3

TL;dr version: the filesystem defines methods for storing and receiving data, not the format of the data itself.

There is an implied conversion, but it is not done with the agreement of the email clients. The email client reads data on an NTFS system and gets a block of data that is a JPEG image. It sends it out in a simple common wrapper and says "here is some data, do with it as you wish. It used to have this name fish.jpg but I don't care what you name it". It has no filesystem information whatsoever at that point, it is literally just a data block that happens to contain a JPEG image. The receiving email client sees a block of data, decodes it and finds a JPEG image, then you save it locally on your own system in whatever filesystem that computer has.


The computer is like your local library group. They use the Dewey decimal system to locate books. It stores books (files), but the contents of those books will be the same no matter where in the library it is. If you post the book to another library (email) the contents of the book are still exactly the same.

When you copy the book to USB disk the computer sets up a new library using the Dewey decimal system and puts the book away. The contents of the book is still the same, but now it is in another library system.

If you go to another computer then in order to find out where the book is stored in your new library then they need to understand the filing system your library uses. If they don't know how to navigate your convoluted library system and only know how to use their own library system then they won't be able to find your book in there.

When you post the book to someone you are stripping away all the filing information and saying "here is a book" and letting them do what they want with it. Email has a common and simple way of storing data for transfer. While it needs a filesystem to store data it doesn't need to care about the filesystem to send data.

The filing system used does not define or change the data that is actually stored, it only defines how it is stored.

2

A filesystem is the way the files are stored in a hard disk.

Let's imagine a clean hard disk as an empty room that you are going to use to store things.

There are thousands of ways to organize those things in the room to make it easy to find any of those things when you need it.

FAT, EXT4, NTFS, etc. are simply ways to organize the files in the hard disk. The main points are:

  • Quick find any file
  • Easy deletion of files.
  • Recovery of errors in read or write proccess.

Apple OS X uses HFS+ and Microsoft uses NTFS.

They are simply different ways to put the same information on the disk.

The contents of the file are NEVER modified.

As NTFS and HFS+ are propietary filesystems, each vendor is not interested in compatibility with the other one.

FAT32 has become the de facto filesystem for portable systems (USB drives for example), so Linux and Apple have been forced to include drivers for FAT32 to be compatible with the USB devices in the market.

However Microsoft is the owner of a series of patents for key parts of the FAT file system.

Microsoft offers licenses for use of its FAT specification and "associated intellectual property", at the cost of a US$0.25 royalty per unit sold.

When you send an attachment in an email, you are simply reading from the filesystem and putting the file (remember, that the content never is modified) inside the message, and when other one receive the email with the attachment, he is simply putting it in his hard disk.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.