Подскажите как передавать и принимать двоичные данные.

Пример.
Передать 1 2 9 0 0 3 ('$01$02$09$00$00$03')
Принять 2 1 9 0 0 3 ('$02$01$09$00$00$03')
и тд.

UNM передает и принимает только строку. Если в середине двоичных данных ноль, то строка заканчивается.

Как в строку вставить двочное число.
Пример
str:string := '$01$02$09$00$00$03';
dat:byte := 10;
надо получить '$01$02$09$00$00$03'+10 = '$01$02$09$00$00$03$0A'