Почему файлы могут быть отправлены по электронной почте между различными файловыми системами, но у съемных дисков есть проблемы?

256
Celeritas

Если у вас есть USB-накопитель, который используется совместно с компьютером под управлением Windows и OS X, тогда лучшим вариантом будет форматирование с использованием FAT, как это понимают обе файловые системы. Почему это не проблема при передаче файлов другими способами, такими как электронная почта? Например, я могу отправить jpeg по электронной почте с моего компьютера с Windows и открыть его на Mac, и он будет работать. Но поскольку у них разные файловые системы, не означает ли это, что данные хранились по-разному и нуждались в переводе? Если это не так, почему существует проблема с USB-накопителями?

Я предполагаю, что моя ошибка в том, что файловая система определяет только, как хранилище красного цвета, а не как содержимое на самом деле хранится?

3
Я не уверен, что понимаю вопрос. Файл - это то, что содержит данные. Все, что знает, как открыть свой тип файла, может его использовать. Файл и его содержимое не меняются в разных средах. Если вы хотите сохранить файл на устройстве хранения, файловая система, используемая на этом устройстве, определяет, как хранится информация о файле (информация каталога, атрибуты, разрешения и т. Д.). Так же как существуют разные типы файлов, существуют разные файловые системы, доступные для использования с устройствами хранения. Разработчики разных ОС выбрали, какие файловые системы будут изначально поддерживаться. fixer1234 7 лет назад 3
@ fixer1234 зачем вам форматировать карту памяти USB в FAT32 при передаче файлов между Mac и Windows? Celeritas 7 лет назад 0
Если вы используете какие-то другие средства для передачи файла, вы обычно получаете промежуточный стандартизированный формат. Если вы посмотрите на электронную почту, вложение файла преобразуется в строку base64, так как электронная почта - это текст в формате открытого текста, который полностью удобен для чтения (но не обязательно понятен). Фактическая проблема также существует, если вы используете сеть для передачи файлов ([немного против большого порядка) (https://betterexplained.com/articles/understanding-big-and-little-endian-byte-order/)), но в В какой-то момент они решили всегда использовать порядковый номер. Seth 7 лет назад 2
Вам не нужно. Просто Mac OS и Windows поддерживают FAT32 как возможную файловую систему «из коробки». Seth 7 лет назад 0
Сет опередил меня. Существуют и другие форматы, которые могут использоваться обоими, особенно если вы добавляете драйверы в ОС. fixer1234 7 лет назад 0
Это был мой вопрос. Где в сети происходит перевод? Например, если я использую Outlook для отправки jpeg по электронной почте со своего компьютера с Windows на Mac, как это работает? Получает ли ОС данные о сетевом интерфейсе в необработанном формате, а затем решает, как их сохранить? Есть ли какой-то перевод на конвертации из NTFS в HFS? Celeritas 7 лет назад 0
В основном я спрашиваю, зачем вам форматировать в FAT32 для флешки, но не беспокоиться, если это будет сделано по сети? Celeritas 7 лет назад 0
Существует подразумеваемое преобразование файловой системы, но оно не выполняется с согласия почтовых клиентов. Почтовый клиент читает данные в системе NTFS и получает блок данных, который является изображением JPEG. Он отправляет его в простой обычной оболочке и говорит: «Вот некоторые данные, делайте с ними, как хотите». На этом этапе у него нет информации о файловой системе, это буквально просто блок данных, который содержит изображение JPEG. Получающий почтовый клиент видит блок данных, декодирует его и находит изображение в формате JPEG, затем вы сохраняете его локально на своей собственной системе в любой файловой системе этого компьютера. Mokubai 7 лет назад 3
Там нет перевода вообще. Сам файл не изменяется независимо от того, как он был отправлен, сохранен или передан (игнорируя временную обработку при передаче). Когда вы сохраняете его, файл не изменяется. Файловая система определяет, как вещи ** о ** файле хранятся (как найти его на устройстве и метаданные, связанные с файлом). Каждая ОС имеет определенные файловые системы, которые она умеет читать по-своему, и дополнительные, которые вы можете научить использовать с драйверами. Это просто найти его на устройстве и включить и выключить. Вам просто нужна файловая система, которую обе ОС знают, как использовать. fixer1234 7 лет назад 2
Это немного похоже на компьютеры с разными разъемами. Если вы хотите поделиться устройством между ними, вам понадобится устройство, которое совместимо с разъемами на обоих компьютерах (или используйте адаптер). Это не влияет на контент, которым вы делитесь, и нет перевода контента. fixer1234 7 лет назад 0
@Mokubai спасибо, что имеет смысл. То есть, когда файл является внутренним в сети, у него нет файловой системы, поскольку поток байтов - это просто поток байтов? Но USB-накопители отличаются тем, что это постоянное хранилище, поэтому у них должна быть файловая система, чтобы определить, как хранятся данные. Я правильно понимаю? Celeritas 7 лет назад 0
Я не эксперт, но каким-то образом следую этому обсуждению: я согласен с фактами, что электронные письма и USB - это другой уровень перевода, о котором заботятся элементарные коды. Однако я также считаю, что есть что-то, что связано со скоростью передачи данных: передача данных по электронной почте = FAT32 -> «big endian?» (Спасибо Seth) -> FAT32, вам нужно, чтобы два переводчика заняли довольно много времени. Я думаю, что если USB требуют того же формата, чтобы скопировать прямой FAT32-> FAT32 переводчик не требуется, и, следовательно, в лучшем случае ... Jonathan 7 лет назад 0

2 ответа на вопрос

3
Mokubai

TL; dr версия: файловая система определяет методы для хранения и получения данных, а не формат самих данных.

Существует подразумеваемое преобразование, но оно не выполняется с согласия почтовых клиентов. Почтовый клиент читает данные в системе NTFS и получает блок данных, который является изображением JPEG. Он отправляет его в простой обычной оболочке и говорит: «Вот некоторые данные, делайте с ними, как хотите. У него было такое имя, fish.jpgно мне все равно, как вы его называете». На этом этапе у него нет информации о файловой системе, это буквально просто блок данных, который содержит изображение JPEG. Получающий почтовый клиент видит блок данных, декодирует его и находит изображение в формате JPEG, затем вы сохраняете его локально на своей собственной системе в любой файловой системе этого компьютера.


Компьютер похож на вашу локальную библиотечную группу. Они используют десятичную систему Дьюи для поиска книг. Он хранит книги (файлы), но содержимое этих книг будет одинаковым независимо от того, где он находится в библиотеке. Если вы разместите книгу в другой библиотеке (по электронной почте), содержание книги останется прежним.

Когда вы копируете книгу на USB-диск, компьютер устанавливает новую библиотеку с использованием десятичной системы Дьюи и убирает книгу. Содержание книги остается прежним, но теперь оно находится в другой библиотечной системе.

Если вы переходите на другой компьютер, чтобы выяснить, где книга хранится в вашей новой библиотеке, им необходимо понять, какую систему хранения файлов использует ваша библиотека. Если они не знают, как ориентироваться в вашей запутанной библиотечной системе, и знают только, как использовать свою собственную библиотечную систему, то они не смогут найти там вашу книгу.

Когда вы публикуете книгу для кого-то, вы отбираете всю информацию и говорите: «Вот книга» и позволяете им делать с ней то, что они хотят. Электронная почта имеет общий и простой способ хранения данных для передачи. Хотя ему нужна файловая система для хранения данных, ей не нужно заботиться о файловой системе для отправки данных.

Используемая система регистрации не определяет и не изменяет данные, которые фактически хранятся, а только определяет, как они хранятся.

2
jcbermu

Файловая система - это способ хранения файлов на жестком диске.

Давайте представим чистый жесткий диск как пустую комнату, которую вы собираетесь использовать для хранения вещей.

Существуют тысячи способов упорядочить эти вещи в комнате, чтобы было легко найти любую из этих вещей, когда вам это нужно.

FAT, EXT4, NTFS и т. Д. - это просто способы упорядочить файлы на жестком диске. Основными моментами являются:

  • Быстрый поиск любого файла
  • Простое удаление файлов.
  • Восстановление ошибок в процессе чтения или записи.

Apple OS X использует HFS +, а Microsoft - NTFS .

Это просто разные способы размещения одной и той же информации на диске.

Содержимое файла НИКОГДА не изменяется.

Поскольку NTFS и HFS + являются основными файловыми системами, каждый поставщик не заинтересован в совместимости с другим.

FAT32 стала де-факто файловой системой для портативных систем (например, USB-накопителей), поэтому Linux и Apple были вынуждены включить драйверы для FAT32 для совместимости с USB-устройствами на рынке.

Однако Microsoft является владельцем серии патентов на ключевые части файловой системы FAT.

Microsoft предлагает лицензии на использование своей спецификации FAT и «связанной интеллектуальной собственности» по цене 0,25 долл. США за проданную единицу.

Когда вы отправляете вложение в электронном письме, вы просто читаете из файловой системы и помещаете файл ( помните, что содержимое никогда не изменяется ) внутри сообщения, а когда другой получает электронное письмо с вложением, он просто помещает его на своем жестком диске.