|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.10.2015, 15:38 | #1 | |||||
Подтвердите свой е-майл
Регистрация: 10.02.2013
Сообщений: 8
|
Спецификация Flash AMF3 и разбор полётов
Вопрос к добрым молодцам, которые сталкивались со спецификацией формата AMF от Adobe, ну или к тем, кто щёлкает спецификации как орешки "на раз-два" :D Целью является накодить удобоваримый парсер для Delphi, но я плаваю в спецификации, в частности, в комплексных байтах, в "traits" и "reference tables".
Первый вопрос. Что такое "traits" мне не ясно вовсе, суть ссылочных таблиц я, в принципе, понимаю, но не понимаю где эти ссылочные таблицы хранятся, как в них записывается значение и тем более как потом по какому-то индексу на это значение ссылается AMF3. Нагуглено много запросов на эту тему, и вот я нашёл, казалось бы, доступное объяснение структуры формата AMF3 (с AMF0 всё проще). На одном из ресурсов приводится пример кодирования объекта AS3: this.ui = "button_press"; this.param = 5; Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Буду благодарен за любую информацию |
|||||
30.10.2015, 18:27 | #2 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,834
|
Я в оригинальной доке по-быстрому прочел этот кусок, всё понятно. Вечером попробую расписать из дома.
В разработке: воспроизводственный контур ИТ
|
31.10.2015, 04:46 | #3 |
Новичок
Джуниор
Регистрация: 31.10.2015
Сообщений: 2
|
Vapaamies, спасибо за ответы, уже во второй теме Вы единственный, кто указывает путь наружу из сложившейся ситуации Весы жмакнул.
P.S.: Это топикстартер Foxeestyle. С тем аккаунтом у меня возникли проблемы.
Keep calm and love coding
|
31.10.2015, 14:39 | #4 | |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,834
|
Цитата:
В таком случае прогноз на самостоятельное освоение неблагоприятный. Либо это будет как посвящение в рыцари. Моя помощь как, еще нужна? Вчера ночью я, как и обещал, открыл доку Adobe по AMF3, даже скопировал оттуда цитату, но написать ответ уже не было сил. С точки зрения теории двоичные форматы проигрывают текстовым при хранении чисел: без дополнительных ухищрений для 32-байтного числа всегда расходуется 4 байта, тогда как в текстовом формате однозначные числа занимают один байт. Чтобы не хранить кучу нулей, разработчики двоичных форматов придумывают способы кодирования чисел переменным числом байт. Так сделано в Google Protocol Buffers, так сделано и у Adobe. У Adobe формат называется U29 и по способу кодирования похож на UTF-8. В доке всё описано. Кодирование UTF-8 расписано в Википедии. Функции UTF8Encode и UTF8Decode есть в модуле System -- можно посмотреть реализацию, как идет работа с битами. Для U29 придется писать что-то похожее. В разделе "3.12 Object type" описывается хранение флагов, длин, индексов и ссылок в значащей части U29. Вначале идет теория, а потом фактическое описание формата. Записи вида "U29O-traits-ref" -- это БНФ формата, как понял. Ранее в тексте встречается аббревиатура ABNF (Adobe BNF?). Короче, нужно читать, выделять биты и экспериментировать. Вчера еще Google предлагал мне реализацию AMF3 на PHP. Можно ее скачать и подсматривать. Сам не смотрел. Оставляю в качестве домашнего задания.
В разработке: воспроизводственный контур ИТ
|
|
01.11.2015, 00:56 | #5 |
Новичок
Джуниор
Регистрация: 31.10.2015
Сообщений: 2
|
В очередной раз спасибо огромное, пищи для ума предостаточно, и ясно, в какую сторону смотреть :D
Keep calm and love coding
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перенос значений таблицы из MS Excel в MS Word. Delphi. Шпаргалка и "разбор полётов". | Ship_1 | Помощь студентам | 8 | 04.04.2016 13:42 |
Delphi и AMF0/AMF3 | Foxeestyle | Работа с сетью в Delphi | 3 | 27.10.2015 14:11 |
Спецификация стали | stas_org | Microsoft Office Access | 0 | 09.10.2011 17:59 |
Спецификация исключений | Kn793 | Общие вопросы C/C++ | 3 | 28.06.2010 21:26 |