|
Вариант для распечатки |
Пред. тема | След. тема | ||
| Форум Программирование под 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 Добавить, Поддержать, Вебмастеру |