Файлы в программе имеют

Файлы… что вообще может быть проще? Мы все привыкли создавать, удалять, редактировать, перекидываться файлами.

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

Заодно узнаем, почему iPhone зависает от SMS и распотрошим PowerPoint.

Почему форматов файлов так много?

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

Но как же тогда понять, где заканчивается один файл и начинается другой?

Поначалу эту проблему человечество решало брутально. Люди записывали один файл на один жесткий диск, чтобы уж точно не ошибиться. Поэтому раньше словом файл называли не отдельную область на жестком диске, а прям целое устройство. К примеру IBM 305.

Файлы и папки вашего компьютера. Виды файлов. Умное хранение файлов

CTSS (Compatible Time-Sharing System)

Но потом, люди придумали файловые системы. Если очень упростить, это такое оглавление в котором указано имя файла, где он начинается и его длина. А также всякие метаданные, типа время создания, изменения, и можно ли его перезаписывать.

Но для того чтобы прочитать файл, знать его местоположение и границы на жестком диске недостаточно, ведь нам нужно как-то расшифровать бинарный код.

Для этого и существуют различные форматы файлов. В большинстве операционных систем форматы файлов указываются в виде расширения, которое отделяется точкой от имени файла. А если вы не видите расширения, это нормально. Потому что, по умолчанию, современные ОС их скрывают, но можно поставить галочку в настройках.

Расширение даёт подсказку операционной системе и программам, о том какой тип данных он содержит и как это всё структурировано. Например, увидев файл droider.jpg операционная система и мы, люди, сразу понимаем, что это картинка в формате JPEG.

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

Поэтому давайте разберем, как устроены наиболее популярные форматы файлов от более простых к более сложным.

TXT

Один из самый простых форматов — это TXT. Это текстовый формат. Знаменитое приложение «Блокнот» в Windows работает как раз с этим форматом.

TXT — формат незамысловатый. Он может хранить в себе только простой неформатированный текст, то есть в нем нет никаких выделений, подчеркиваний, курсивов, отступов, разных шрифтов. Только голый текст, а точнее просто символы.

Чистим временные Файлы

Каждый символ в TXT-формате хранится в виде бинарного кода.

То что мы с вами видим как осмысленный текст, операционная система видит вот так:

01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 01101111 01110010 01101100 01100100 00100001

Каждые 8 цифр, то есть 8 бит этого кода — это отдельный символ.

Например, 01001000 — это “H”, 01100101 — это “e”, и так далее.

Но как операционная система расшифровывает эти данные? Всё просто. Операционной системе требуется загрузить таблицу, в которой описано соответствие бинарного кода конкретному символу. Таких таблиц много, самые известные сегодня — CP1251 (Windows), UTF-8 (Android, Mac) и так далее. Такие таблицы, часто называют кодировками.

В данном файле используется кодировка UTF-8, то есть 8-битный Юникод.

Unicode Transformation Format, 8-bit — «формат преобразования Юникода, 8-бит»

Подобрав правильную кодировку остается дело техники. Система сопоставляет бинарный код с таблицей кодировки UTF-8 и готово! Но что будет если система подберет кодировку неправильно? Вариантов не много, скорее всего мы увидим крякозябры:

И такое часто случается, так как TXT-файл не содержит никакой дополнительной информации о кодировке. И это большой недостаток формата.

Еще интересный момент. Исторически, компьютеры «знали» только латиницу, которая используется в большинстве европейских языков. И тут произошла проблема: 8-бит — это всего лишь 256 возможных значений. Это немного, но этого было достаточно, чтобы закодировать все базовые символы + латинские буквы.

И вдобавок, эту таблицу нужно было загрузить в оперативную память при загрузке компьютера, а у типового ПК в начале 80-х годов редко было больше 640 килобайт оперативки. А использовать 16-битные таблицы (65536 вариантов) было просто невозможно, такая таблица просто не влезла бы в память.

Читайте также:
Как вывести программу в питоне

Но мощность компьютеров росла и проблема ушла. К таблицам с латинскими символами добавились кириллические, которые занимали уже не по 8 бит, а по 16 бит каждый. Поэтому текст на русском занимает в два раза больше памяти, при том же количестве символов.

11010000 10011111 11010001 10000000 11010000 10111000 11010000 10110010 11010000 10110101 11010001 10000010 00101100 00100000 11010000 10111100 11010000 10111000 11010001 10000000 00100001

11010000 10011111 — П

11010001 10000000 — р

10111000 11010000 — и

11010000 10110010 — в

Старики помнят лайфхак, если писать SMS на латинице, то влезет в два раза больше текста. Всё это как раз из-за кодировки.

Кстати, помните все эти случаи, когда iPhone умирал от присланного сообщения со странными символами или картинки? Это как раз связано с тем, что система не могла правильно распознать присланные символы и правильно определить их длину.

Например, вот такое сообщение в своё время заставляло любой айфон уйти в цикличный ребут:

WAV

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

Это простой аудиоформат, который содержит несжатый. Всё CD диски записаны в формате WAV.

Первые 44 байта классического WAV-файла содержат заголовок, к котором указывается полезнейшая информация:

  • количество аудио каналов;
  • частота дискретизации;
  • битовая глубина;
  • и многое другое.

Открытые и проприетарные форматы

Структура WAV хорошо известна и наверное такой файл сможет прочитать практически любой плеер. Всё потому, что WAV-файл — это пример открытого формата.

Есть и другие открытые форматы, которыми вы ежедневно пользуетесь. Например:

  • язык разметки web-страниц — HTML;
  • картинки — PNG;
  • аудио в формате — OGG;
  • архива — ZIP;
  • видео — MKV;
  • электронной книги — EPUB;
  • и другие.

Проприетарные форматы всем прекрасны, но в отдельных случаях они препятствуют конкуренции в сфере программного обеспечения, так как приводят к замыканию на поставщике. Есть даже такой термин Vendor lock-in.

Старый офис

Например, раньше такая ситуация была с форматами Microsoft Office: DOC, XLS, PPT.

Мало того, что это были проприетарные форматы компании Microsoft и работали только с фирменным ПО. Так еще Microsoft постоянно меняли свою структуру файлов от одной версии MS Office к другой. И в результате? при выходе новой версии офисного пакета? файлы из старого редактора уже не читались новым, а наоборот — и подавно.

Такая ситуация не очень нравилась Европейскому Союзу. Поэтому, ЕС взъелся на тему ограничения конкуренции. В итоге, форматы файлов опубличили, и все научились хотя бы их читать, но для записи в старые форматы, по-прежнему, нужна лицензия Microsoft. И параллельно этому начали разрабатываться открытые форматы.

ODF и OOXML

1 мая 2006 года на свет появился формат формат ODF, что буквально расшифровывается как открытый формат документов для офисных приложений. Он был разработан консорциумом OASIS и Sun Microsystems.

  • ODF — Open Document Format for Office Application.
  • OASIS — Organization for the Advancement of Structured Information Standards.

Microsoft тоже не спал. Под давлением Европейского суда они объединились с рядом компаний в ассоциацию ECMA и разработали свой открытый формат Office Open XML, который появился на свет чуть позже в 2006 году.

OOXML стандартизирован European Computer Manufacturers Association. Standard ECMA-376

К привычным форматом конце добавилась буква X и мы получили: DOCX, XLSX, PPTX.

OOXML — Office Open XML (DOCX, XLSX, PPTX)

OOXML, в целом, очень похож на ODF. Он также основан на XML-разметке и также представляет из себя ZIP-архив. Поэтому вы также можете заглянуть внутрь офисных файлов при помощи любого архиватора. Можно даже вытащить картинки и даже подменить их, что бывает особенно удобно при работе с презентациями или когда вам присылают текстовый документ с картинками внутри файла.

Несмотря на кажущуюся простоту, формат реально сложный. Только основная документация — это 5 тысяч страниц. И это практически без картинок.

Тем не менее, кто-то всё таки смог прочитать всю эту документацию и поэтому на свет появились классные офисные пакеты, например МойОфис, которые умеют работать и ODF форматом, и с Office Open XML, и даже с устаревшими форматами типа DOC.

Но есть важная ремарка про старые форматы. Как правило, современный софт умеет их только читать, но не записывать, потому как это действие требует приобретение лицензии Microsoft. Впрочем, в наше время это действие, мягко говоря, бессмысленно.

Итого

Что мы в итоге узнали? Файлы бывают нескольких типов:

Самые базовые — бинарные. Такие форматы любят придумывать компании, чтобы никто не понял, как их программы хранят данные.

Более открытый вариант — xml-контейнеры. К счастью, большинство популярных офисных форматов сейчас такие. Если хотите работать со всеми этими файлами хоть дома, хоть на бегу, скачивайте программы МойОфис! На этом у нас сегодня всё.

  • Блог компании Droider.Ru
  • Программирование
  • Разработка под Windows
Читайте также:
Как сделать программу для Андроид приложения

Источник: habr.com

Файлы и файловая система

Все программы данные хранятся в долговременной (внешней) памяти компьютера в виде файла.

Файл -это определенное количество информации (программа или данные), имеющие имя и хранящееся в долговременной (внешней) памяти.

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

В различных операционных системах существуют различные форматы имен файлов. В операционной системе МS-DOSсобственно имя файла должно содержать не более 8 букв латинского алфавита и цифр, а расширение состоит из трех латинских букв, например:proba.txt.

В операционной системе Windowsимя файла может иметь до 255 символов, причем можно использовать русский алфавит, например: Единицы измерения информации.Doc.

Файловая система. На каждом носителе информации (гибком, жестком или лазерном диске) может храниться большое количество файлов. Порядок хранения файлов на диске определяется используемойфайловой системой

Таблица 1. Типы файловых расширений

.bmp, .gif, .jpg и др.

Программы на языке программирования

Каждый диск разбивается на две области: область хранения файлов и каталог. Каталог содержит название файла и указание на начало его размещения на диске. Если провести аналогию диска с книгой, то область хранения файлов соответствует тексту книги, а каталог – ее оглавлению. Причем книга состоит из страниц, а диск – из секторов.

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

Таблица 2.Одноуровневый каталог

Номер начального сектора

Если на диске хранятся сотни и тысячи файлов, то для удобства поиска файлы хранятся в многоуровневой иерархической файловой системе, которая имеет “древовидную” структуру. Такую иерархическую систему можно сравнить, например, с оглавлением данного учебника, которое содержит иерархическую систему разделов, глав, параграфов и пунктов. Начальный, корневой, каталог содержит вложенные каталоги 1-го уровня, в свою очередь, каждый из них может содержать вложенные каталоги 2-го уровня и т.д. Необходимо отметить, что в каталогах всех уровней могут храниться и файлы.

Рис. 1. Иерархическая файловая система

Например, в корневом каталоге находятся два вложенных каталога 1-го уровня (Каталог_1, Каталог_2) и один файл (Файл_1). В свою очередь, в каталоге 1-го уровня (Каталог_1) находятся два вложенных каталога второго уровня (Каталог_1.1 и Каталог_1.2) и один файл (Файл_1.1).

Файловая система– это система хранения файлов и организации каталогов.

Рассмотрим иерархическую файловую систему на конкретном примере. Каждый диск имеет логическое имя (А,В — гибкие диски, С, D,Eи т.д. – жесткие и лазерные диски).

Пусть в корневом каталоге диска С: имеются два каталога 1-го уровня (GAMES,TEXT), а в каталогеGAMES– один каталог 2-го уровня (CHESS). При этом в каталогеTEXTимеется файлproba.txt, а в каталогеCHESS– файлchess.exe.

Рис. 2. Пример иерархической файловой системы

Путь к файлу. Как найти имеющиеся файлы (chess.exe,proba.txt) в данной иерархической файловой системе? Для этого необходимо указать путь к файлу. В путь к файлу входят имя диска, последовательность имен каталогов и имя файла, которые при записи разделяются обратной косой чертой (). Таким образом, пути к вышеперечисленным файлам можно записать следующим образом:

Операции над файлами. В процессе работы на компьютере наиболее часто над файлами производятся следующие операции:

  • копирование (копия файла помещается в другой каталог),
  • перемещение (сам файл перемещается в другой каталог),
  • удаление (файл удаляется из каталога).

Источник: studfile.net

Компьютерная грамотность с Надеждой

Заполняем пробелы — расширяем горизонты!

Имена и типы файлов

Компьютер работает с информацией, которая может быть текстовой, графической, в аудио или видео формате. Вся информация, обрабатываемая на компьютере, хранится в файлах. Например, файл — это фото, картинка, ролик, документ, презентация, программа и так далее.

типы файлов

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

Файл – это поименованная область памяти на компьютерном носителе.

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

Имя файла

Какие можно использовать символы в имени файла? В именах файлов рекомендуется использовать русские и латинские буквы, цифры, пробелы и знаки препинания.

Однако имя файла не следует начинать с точки, а также использовать в имени квадратные [ ] или фигурные < >скобки. Недопустимыми для имен файлов являются следующие служебные символы / | : * ? “

Существует ли максимальная длина имени файла? Длина имени файла не должна превышать 255 символов. На самом деле, обычно хватает 20-25 символов.

Что такое тип файла или формат файла

Как Вы считаете, могут ли быть в одной папке несколько файлов с одинаковым именем PRIMER? Это возможно при условии, что у имени PRIMER будут разные расширения.

Читайте также:
Программа соц исследования это

Расширение имени файла указывает на его тип (иногда еще говорят — формат файла). Таким образом,

  • «тип файла»,
  • «формат файла»,
  • «расширение файла»,
  • «расширение имени файла»

— все эти понятия, по сути, одно и то же.

PRIMER.bmp – типом файла является рисунок,

PRIMER.avi – типом файла является видеофайл,

PRIMER.wav – типом файла является аудиофайл.

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

Тип файла (то есть, расширение имени файла) – это часть имени файла, которая начинается с точки, после которой стоят несколько символов.

Расширение является необязательным атрибутом в имени файла, то есть его может и не быть. В таком случае в конце имени файла точка, как правило, не ставится.

Зачем нужен тип файла

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

Есть зарезервированные (служебные) имена, которые нельзя использовать в качестве имен файлов, так как они являются именами устройств:

COM1-COM4 – устройства, присоединяемые к последовательным портам 1-4,

AUX – то же, что COM1,

LPT1-LPT4 – устройства, присоединяемые к параллельным портам 1-4 (как правило, принтеры),

CON (consol) – при вводе – клавиатура, при выводе – экран,

NUL – «пустое» устройство.

Запрещенные символы в именах файлов

Приведу примеры имен файлов, которые являются недопустимыми:

5<>8/7.txt – символы «» и «/» запрещены,

В чем вопрос? – символ «?» запрещен,

PRN.bmp – здесь PRN зарезервированное имя.

Что такое значок файла или иконка файла

В зависимости от типа файла на экран Windows выводятся различные значки (иконки). Первый пример касается значка текстового редактора:

Второй пример относится к архивному файлу. Это тот файл, который был обработан с помощью программы-архиватора WinRAR (сокращенно RAR):

— значок сжатых (архивных) файлов, обрабатываемых архиватором RAR, и имеющих расширение .rar.

Почему я не вижу типы файлов в своем Проводнике?

Проводник Windows (Пуск—Программы—Стандартные—Проводник) по умолчанию имеет режим, когда расширения имен (типы) файлов на экран не выводятся, но при этом выводятся значки (иконки) файлов.

Подробнее о том, как «заставить» Windows показывать типы файлов: Изменение имени файла в Windows

Выбор типа файла при сохранении файла

При сохранении файла достаточно написать его имя и выбрать тип файла из имеющегося списка. Выбранное расширение автоматически добавится к имени файла. Например, на рисунке ниже к имени файла программа сама добавит расширение .jpg. В результате Windows запомнит этот файл с именем «рисунок в paint.jpg».

выбор типа файла при его сохранении

Прежде чем сохранить файл, выбираем сначала подходящий тип файла, затем вводим имя файла и жмем «Сохранить».

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

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

Если Вы скачали из Интернета файл, например, с расширением .rar, но на вашем компьютере не установлена программа-архиватор для работы с такими «сжатыми, заархивированными» файлами, то не удивляйтесь, что файл не открывается. Другими словами, надо отдавать себе отчет, что если открывать файлы, например, в видео-формате, то на компьютере должна быть в наличии соответствующая программа для работы с таким форматом.

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

Упражнения по компьютерной грамотности:

1) Попробуйте на Рабочем столе создать две папки с именами: PRIMER и primer.

Для этого на Рабочем столе кликните правой кнопкой мыши на свободном месте, а в появившемся окне – по опции «Создать» и, наконец, клик по опции «Папку». Вместо слов «Новая папка» введите «PRIMER». Затем все это повторяете для создания второй папки с именем «primer». Windows дал Вам «добро» на открытие второй папки?

2) Зайдите, например, в редактор Word и попробуйте сохранить документ с именем PRN. Windows разрешил такое имя для нового файла?

3) Как решить проблему: «С инета скачиваю файлы, а они в формате .rar и на компе не открываются, не читаются. Что делать?»

Если у Вас есть вопросы по этой теме, напишите их ниже, в комментариях, я отвечу.

24 июля 2010

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru