Я создаю инструмент, который извлекает данные из двоичных файлов базы данных.У меня это работает с несжатыми данными фиксированной ширины, но следующий файл, который я попробовал, использует метод сжатия.
Согласно TRiD (http://mark0.net/soft-trid-e.html) файл на 100% соответствует MP3, для чегоСтоит, вот первые несколько байтов файла:
FF FF AD 00 C0 7E AA 00 21 C0 AD 00 AE 02 00 00 00 00 00 00 0C 86 00
00 52 81 00 00 00 00 00 00 CC 01 00 00 42 54 47 42 91 00 00 00 57 01 00 40
32 00 30 00 34 12 EE 1F 00 00 01 00 00 02 01 04 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 54 1C 73 5A 00 00 49 02 FF 00
02 00 AF 89 00 00 00 00 00 00 6B 04 00 00 56 1C 73 5A B3 06 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
Мое приложение обычно берет блок двоичных данных, который может находиться в любом месте файла, и сохраняет его в небольшой файл, которыйлегко выполнять быстрые манипуляции, пока все данные не выровняются.
Если я хочу сделать это со сжатым файлом, нужно ли сначала распаковывать весь файл, а затем сохранять только часть, или я могускажи ему взять первые 30 КБ файла, распаковать то, что он нашел, и записать это в файл? Я знаю, что будет много дополнительных символов Unicode / Control, но пока строковые значения можно распечатать, я выясню,остальные.
public static FileStream stream = new FileStream(@"DB.dat", FileMode.Open, FileAccess.Read);
public static FileStream shortFile = null;
int limit = 30000;
public MainWindow()
{
byte[] block = new byte[limit];
using (FileStream fs = File.Create("tempfile.dat"))
{
stream.Position = 0;
stream.Read(block, 0, limit);
fs.Write(block, 0, block.Length);
}
InitializeComponent();
}
Редактировать: добавление идентификатора информации для образца файла http://64.72.211.216/ZIPCODE.dat
TrID/32 - File Identifier v2.24 - (C) 2003-16 By M.Pontello
Definitions found: 10674
Analyzing...
Collecting data from file: ZIPCODE.dat
100.0% (.MP3) MP3 audio (1000/1)
Mime type : audio/mpeg3
Definition : audio-mp3.trid.xml
Files : 34
Author : Marco Pontello
E-Mail : marcopon@gmail.com
Home Page : http://mark0.net