Бінарні формати, як правило, не легко вказано; вони рідко вказано на високому рівні помітного мови, такі як ASN.1 (і такі характеристики не можуть бути ретро-встановлена на існуючих довічних форматів). Bdec проект спроба вказати довільні двійкові формати на мові розмітки, і створити декодер і енкодер автоматично для цього довічним форматі даної специфікації високого рівня.
Bdec специфікація XML використовує конструкції, засновані на конструкціях, знайдених в ASN.1.
Використання:
Bdec бібліотека складається з декодування / кодування і бібліотеки командного рядка декодування і кодування додатків. Враховуючи параметри, додаток командного рядка створять XML подання даних, що містяться в бінарному файлі, і може (для деяких уявлень) перетворити XML назад в двійковому вигляді.
Бібліотека може створювати такий висновок XML або необов'язково об'єкт пітона, що представляє конструкції, що містяться в двійкових даних.
Наприклад; XML уявлення FAT завантажувального сектора, породженої підряд:
дд, якщо = / DEV / sda1 BS = 512 Кількість = 1 | декодування bootsector.xml
Особливості
- Це легко швидко написати (і читати) специфікація
- Немає необхідності писати користувальницькі декодер (всі умови помилки не обробляються всередині; декодування або проходить або ні) .
- додаток командного рядка дозволяє візуальний огляд проблемних файлів.
- Unicode відомо, прямий порядок байтів / зворотний порядок байтів в курсі
- Вкажіть поля аж до біта (наприклад: одиночні бітові прапори)
Що нового У цьому випуску :.
- Кодування структури даних в двійковому тепер підтримується
- Це включає в себе кодування з Python випадках, XML, і C структур.
- Технічні характеристики тепер можна розбивати на декілька файлів, просто проходячи всі специфікації файлів в декодування / кодування / компіляції програми.
Що нового у версії 0.5.1:
- Цей реліз повідомляє правильну запис, коли є відсутнє посилання запис.
- Це фіксує Мако скласти виключення при запуску з яйця (ігнорує .pyc файлів).
Що нового у версії 0.5.0:
- компіляції прискорень (близько п'яти разів) і декодування Python прискорень (до 30 разів).
- Укладач вибір зараз представлено '' перерахування та «Союзу».
- Вирази тепер можуть безпосередньо посилатися вибір записи посилатися декодованого варіант.
- розділ новий розділ "Ради" був доданий в документації, яка включає в себе ':'. Прихований натяк входу
- Записи, значення яких передаються як в і з запису у зв'язку з були стійких виразів.
- Маленькі поля порядком байтів з очікуваним значенням в складених специфікацій були виправлені.
Що нового у версії 0.4.1:
- Проект може бути скомпільована з яйцем (у тому числі шаблони).
- породжений С може бути використаний в програмах C ++ (наприклад, зовнішній с).
- 'bdecode' і 'bcompile "встановлюються як частина яйця встановити.
- Імена типу згенерувати мови С узгоджуються з трас.
Що нового у версії 0.4.0:
- Цей реліз дозволяє спільні елементи приділяти інше ім'я .
- Це покращує читаність згенерованого коду C.
- Це не буде включати в себе непотрібні структури даних в C заголовків.
- Це змінило до LGPL.
- Є поновлення документації, різні виправлення в C декодерів, і виправлення для специфікації MP3.
Коментар не знайдено