2

Я хочу создавать изображения с фиксированным размером файла (не размером изображения). Я попробовал некоторые решения здесь. Пакетное "изменение размера" изображений JPEG до фиксированного размера файла, но генерируемые файлы имеют фиксированный размер на диске, а не размер файла в байтах.

Например, я хочу, чтобы размер изображения составлял 33 КБ в байтах, но на самом деле он оказывается 33 КБ на диске.

Kind: JPEG image
Size: 32,222 bytes (33 KB on disk)

Есть идеи? Спасибо!

1 ответ1

1

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

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

Что касается вашего вопроса, нет однозначного ответа, и я считаю, что это не проблема, если только вам действительно не нужны файлы изображений с такой точностью размера файла, где разница в 4 КБ является существенной.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .