Я полагаю, что все сводится к всегда , который может иметь дело с обоими , независимо от платформы, на которой вы находитесь. Preon пытается скрыть некоторые из этих сложностей, позволяя вам декларативно (используя аннотации) определять отображение между вашим представлением данных в памяти и закодированным представлением.
Итак, если это часть вашей структуры данных:
public Image {
int width;
int height;
}
тогда определить отображение в естественное представление с прямым порядком байтов будет так же просто, как это:
public Image {
@BoundNumber int width;
@BoundNumber int height;
}
Однако, если представление имеет порядковый номер, то вы можете сделать это:
public Image {
@BoundNumber(byteOrder=LittleEndian) int width;
@BoundNumber(byteOrder=LittleEndian) int height;
}
В обоих случаях создание кодека для этой структуры данных одинаково:
Codec<Image> codec = Codecs.create(Image.class);
Я знаю, что некоторые люди говорили и о переносе этого на .NET.