ID> У кого-небудь є алгоритм сабжа?
Наскільки я розумію - не буває. Розподіл між бінарними і текстовими
файлами - умовність. Тому АЛГОРИТМА, тобто точної і однозначної
послідовності дій тут бути не може.
Існують евристики, що дозволяють сказати що файл
свідомо бінарний. Наприклад - у файлі виявлені керуючі символи,
відмінні від \ r, \ n, \ t. Якщо там є символ з кодом 0 - 99.9% що це
бінарний файл. Мені траплялася тільки одна програма (на Mac) яка
обожнювала ліпити нульовий символ в текстові файли. Софт на VAX / VMS від
цього дуже дивувався і не хотів такі файли обробляти.
Або що кінець рядка (який в залежності від
платформи може бути \ r, \ n або \ r \ n) зустрічається не рідше ніж, скажімо 80
символів (останнім часом, коли часто кінець рядка використовується як
роздільник абзаців, ця евристика працює погано)
Звичайно, ти в своїй програмі можеш ввести своє визначення кордону
між текстовим і бінарним файлом, яке буде допускати існування
алгоритму. Але не ображайся, якщо який-небудь користувач надішле тобі
файл, який він вважає текстовим, а твоя програма - бінарним або
навпаки.
Власне, основна причина, по якій хочеться розрізняти бінарні і
тектових файли - це можливість автоматичного перетворення решт
рядків між трьома вищенаведеними варіантами. Але краще піти іншим
шляхом і завжди інтерпретувати як кінець рядка будь-яку з трьох
вищенаведених комбінацій. А всі файли завжди відкривати як бінарні.
--
Ми обліпили дірку тестом
Буде діркам в тестах тісно
Буде Тирке в десть десно,
Буде просто пречудесно.
Alexander B. Bokovikov
Post by Victor Wagner
Якщо там є символ з кодом 0 - 99.9% що це
бінарний файл.
Щас. Про юнікод ми не чули.
Текстовий == ASCII. Або що?
Post by Victor Wagner
Мені траплялася тільки одна програма (на Mac) яка
обожнювала ліпити нульовий символ в текстові файли.
До речі ось Ворд - це як? Адже по суті-то це текст :)
ID >> У кого-небудь є алгоpитм сабжа?
AP>
AP> Зазвичай бінаpний файл розпізнається за наявністю в ньому символів з кодом
AP> меншим
AP> ніж у пpобелов, відмінних від табуляції, возвpата каpеткі і перекладу стpоки.
AP> Hекотоpие західні програмі вважають бінаpнимі також і файли, содеpжащие
AP> символи з кодом великим 127.
На мою думку, такбило б непогано посмотpеть вихідні юніксовой утиліти file
Bye!
SysOp Nickolas
Now Playing: TRACK08
[DISCONNECT]