Я пытаюсь написать простую программу чтения DWG-файлов AutoCAD в .NET.На самом деле мне не нужен доступ ко всем данным в файле, поэтому сложность, которая в противном случае была бы связана с написанием программы чтения / записи для всего формата файла, не является проблемой.
Мне удалось прочитать восновы, такие как версия, все данные заголовка, записи локатора раздела, но у меня проблемы с чтением реальных разделов.
Проблема, как представляется, связана с тем, что формат использует пользовательский методхранение некоторых типов данных.Я подхожу к спецификациям здесь:
http://www.opendesign.com/files/guestdownloads/OpenDesign_Specification_for_.dwg_files.pdf
В частности, типы, которые зависят от чтения отдельных битов, являются типами, которые я пытаюсь прочитать.Большая часть проблемы, по-видимому, заключается в том, что C # BinaryReader позволяет вам читать только целые байты за раз, тогда как на самом деле я считаю, что мне нужна способность считывать отдельные биты, а не просто 8-битные или кратные одновременно.
Может быть, я неправильно понимаю спецификацию и то, как ее интерпретировать, но если кто-то может прояснить, как я могу читать отдельные биты из потока или даже как читать некоторые переменныетипы в приведенной выше спецификации, которые требуют более сложных манипуляций с битами, чем простое чтение полных байтов, тогда это было бы превосходно.
Я понимаю, что для этого есть коммерческие библиотеки, но цена слишком высокана всех из них, чтобы быть оправданным для поставленной задачи.
Любая помощь высоко ценится.