【发布时间】:2022-01-06 22:48:48
【问题描述】:
我想通过 netcat 发送一个号码。我不想发送数字的 ASCII 表示,而是数字的二进制版本(uint8、int32 等)。我在 Matlab 中打开了一个等待接收号码的 UDP 端口。 Matlab 的dsp.UDPReceiver 只能接受 ['uint8' (default) | '双' | '单身' | 'int8' | 'int16' | 'uint16' | 'int32' | 'uint32' | '逻辑']。仅供参考,我通过 UDP 向进程发送整数以控制其中的某些操作。
我最初尝试过
echo 5 | netcat -u localhost 12345
但接收器(在 Matlab 中)打印出 ans = uint8 53,因为 echo 的输出是字符串而不是数字 5 的二进制表示。我尝试像这样使用 bc:
echo "obase=2;5" | bc -l|netcat -u localhost 12345
但是得到ans = uint8 49 的结果,因为bc 正在返回二进制的ASCII 版本,而不是位本身。
如何通过 netcat 发送单个号码?
【问题讨论】: