実際のところ
以下の例ではバイナリ”0xdeadbeef"が送られるものの、escapeに0xbeが設定されているためそこで読み込み中止、stdoutには\xdeadが出力されます。
echo "\xde\xad\xbe\xef" | socat stdio,escape=0xbe stdio
使えるのはSTDIOに限りません。
UDPで受けた値を0x03をエスケープしつつ、myfileの末尾に書き足していくようなコマンドは以下の通り
socat UDP-LISTEN:9999,fork,escape=0x03 OPEN:/root/myfile.log,append