|
![]() |
Пред. тема | След. тема | ||
Форум Программирование под UNIX (Perl) | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Считывание бинарного файла." | +/– | ![]() |
Сообщение от Demiana (ok) on 05-Май-11, 11:47 | ||
Приветствую. Столкнулась с необходимостью считать бинарный файл побайтово перлом. Файл содержит некоторый кодированный текст в неASCII кодировке. Каждый символ представлен 8 разрядным двоичным числом (т.е. как я поняла как раз и должен быть байтом). По условию задачи символы дублируются для надежности передачи, но это не суть важно. | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения по теме | [Сортировка по времени | RSS] |
1. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от Pahanivo (ok) on 05-Май-11, 14:59 | ||
> Приветствую. Столкнулась с необходимостью считать бинарный файл побайтово перлом. Файл | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
![]() | ||
4. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от Demiana (ok) on 05-Май-11, 19:42 | ||
> большой вопрос - чтоже тут подразумевается под "бинарностью" | ||
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору |
2. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от Square (ok) on 05-Май-11, 15:49 | ||
> Приветствую. Столкнулась с необходимостью считать бинарный файл побайтово перлом. Файл | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
![]() | ||
5. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от Demiana (ok) on 05-Май-11, 19:44 | ||
>Возможно я не понял задачу, но вы делаете в своем скрипте что-то странное...и >нехорошее... | ||
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору |
![]() | ||
7. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от Demiana (ok) on 05-Май-11, 20:39 | ||
По поводу Вашего кода. | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
![]() | ||
12. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от Square (ok) on 05-Май-11, 21:42 | ||
>[оверквотинг удален] | ||
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору |
![]() | ||
14. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от Demiana (ok) on 05-Май-11, 21:56 | ||
>[оверквотинг удален] | ||
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору |
![]() | ||
15. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от Square (ok) on 05-Май-11, 22:10 | ||
>[оверквотинг удален] | ||
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору |
3. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от XAnder (ok) on 05-Май-11, 16:28 | ||
> open(file1, "text.txt"); | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
![]() | ||
6. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от Demiana (ok) on 05-Май-11, 19:45 | ||
>> open(file1, "text.txt"); | ||
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору |
![]() | ||
9. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от XAnder (ok) on 05-Май-11, 21:13 | ||
Я, кажется, понял, с чем у вас проблема :-) Не бывает байтов в десятичной, двоичной и вообще какой-либо системе счисления. Бывают просто байты, т. е. куски информации, кодирующие одно состояние из 256 возможных. Система счисления — это вопрос интерпретации этой информации как числа. А можно интерпретировать как символ или элемент некого абстрактного множества — на здоровье! Главное, что независимо от интерпретации байты можно сравнивать на «равно — не равно». | ||
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору |
![]() | ||
13. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от Demiana (ok) on 05-Май-11, 21:45 | ||
>[оверквотинг удален] | ||
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору |
![]() | ||
17. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от XAnder (ok) on 06-Май-11, 08:52 | ||
Решение на Си действительно оказалось простым и изящным: | ||
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору |
![]() | ||
19. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от ACCA (ok) on 06-Май-11, 16:25 | ||
Читаем блоками по 24 байта, каждый блок должен дать один байт на выходе. | ||
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору |
8. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от JohnProfic (ok) on 05-Май-11, 20:47 | ||
Файл, по-моему, не к этой задаче. Он содержит только байты 0x00 и 0x01, что не соответствует задаче. Но даже если предположить, что это биты, то необходимый результат не получается -- простой проход по данному файлу следующим php-скриптом (что было под рукой): | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
![]() | ||
10. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от Demiana (ok) on 05-Май-11, 21:31 | ||
>[оверквотинг удален] | ||
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору |
![]() | ||
11. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от JohnProfic (ok) on 05-Май-11, 21:33 | ||
Хм, товарищ выше дал мне имею попробовать вначале выбирать один из трех битов, а потом уже их складывать в байты. Не факт, что такой подход правильный, т.к. понятно что из 3 бит хоть два будут одинаковыми, но может именно этого и хотели добиться авторы задачи. Текстовый результат через chr() все-равно абракадаброй, но с ним по крайней мере можно начать работать дальше :). | ||
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору |
![]() | ||
16. "Считывание бинарного файла." | +/– | ![]() |
Сообщение от Demiana (ok) on 05-Май-11, 23:32 | ||
>[оверквотинг удален] | ||
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |