Цитата(MarYuriy @ Sep 17 2012, 13:32)

помощью строк и ASCII это сделать не удаётся из-за того, что 0x00 воспринимается как нуль-терминатор, т.о. и 0x00 и 0х56 опускаются.
Использовать строки не получится.
Цитата(MarYuriy @ Sep 17 2012, 13:32)

т.о. и 0x00 и 0х56 опускаются.
Принимать данные как есть, складывать с какой-нибудь подходящий по размеру буфер и читать подходящим к случаю образом.
Код
unsigned short var;
unsigned char buf[2];
buf[0]=ReadByte();
buf[1]=ReadByte();
var=*(unsigned short *)buf;
Но всё это зависит от платформы, индианности и говорят, что так делать не есть правильно...