Cредство скриптования сайтов или язык программирования? Рассуждения на тему бинарных форматов.
StopDesign 06.12.2008 19:43
Мне нужно иногда передавать данные между Парсером и чем-то еще. На самом деле приходилось отдавать данные в Perl, php и flash. Ещё принимать данные из C++, Perl и flash. Не скажу, что это часто нужно...
Но гораздо чаще, чем отправлять почту из Парсера, создавать в нем изображение или банить кого-то по ip.Сейчас весь такой обмен приходится строить на XML. Зачем - непонятно. Мы передаем данные одной программы другой программе. В этой задаче все достоинства XML превращаются в недостатки.
Для обмена с JS еще как-то подходит JSON. Для других целей нужен бинарный формат, например,
protobuf.
Ну я полез на code.google.com, почитал список языков, которые уже сейчас поддерживают работу с protobuf, порадовался и стал пробовать сделать реализацию для Парсера.
Оказалось, что Парсер не умеет работать с бинарными данными. Можно открыть файл, но невозможно работать с его содержимым. Потому что string не может содержать некоторые символы. Теоретически...
Полез в исходники, убрал одну проверку... В итоге удалось получить строку, содержащую любой набор символов. Но сохранить её нельзя. Мешает символ ^#00, на котором строка "заканчивается". Похоже, без создания нового системного класса тут не обойтись.
Вопрос: нужна ли вам, разработчикам, возможность работы с бинарными данными? Как вы сейчас обходите эту проблему?
- Cредство скриптования сайтов или язык программирования? Рассуждения на тему бинарных форматов., StopDesign 06.12.2008 19:43