Да, всегда есть риск потери байтов.
Но то, как вы это делаете, полностью зависит от того, какие данные вы отправляете. Например, если значения, которые вы отправляете, находятся в диапазоне от 0 до 255. Вы можете отправить значение одним байтом.
Если, с другой стороны, вы отправляете несколько значений или строк, то хорошей практикой является использование управляющие символы в таблице ASCII для обозначения начала последовательности, разделения и идентификации значений. Например,
STX "value_id1" US "value" RS "value_id2" US "value" ... ETX
Если целостность значений очень важна, вы можете рассчитать контрольную сумму "CR C" для отправки по сообщению, чтобы получатель мог проверить ошибки.