Создать каркас для необработанных данных или двоичного чтения и записи - PullRequest
0 голосов
/ 05 января 2011

Я работаю над одним проектом, в котором данные должны быть прочитаны в двоичном формате, но можно поместить в структурный формат. В java структура недоступна. Я отправил данные в байтовом массиве. У этого также есть некоторая структура.

Например

Пакет

int length 
int sequence no
MessageData

MessageData Заголовок сообщения MessageBody

MessageHeader int data1 длинные данные2 char [] data3 // 2 байта char [] data4 // 3 байта

То же самое для MessageBody

Но данные должны быть упакованы в байтовый массив.

Можно сделать в CPP как

#pragma(2) //for word alignment

struct Packet{
    int length 
    int sequence no
    MessageData msgdata

}

Я должен реализовать в Java.

для чтения данных я использую Preon library

Но для записи данных я все еще использую обычный метод для упаковки данных в байтовый массив с помощью некоторой функции У кого-нибудь есть работа над таким же добрым проектом или есть идея получше

1 Ответ

0 голосов
/ 26 января 2011

Текущая кодовая база содержит несколько байтов для записи данных, однако она еще не завершена. Сказав это, это может работать для вашего текущего случая:

Codec<Packet> codec = Codecs.create(Packet.class);
Packet packet = ...;
OutputStream out = ...;
codecs.encode(packet, codec, out);
...