我想通过netcat发送一个号码。我不想发送数字的ASCII表示,而是发送数字的二进制版本(uint8、int32等)。我在Matlab中打开了一个UDP端口,等待接收号码。Matlab的dsp.UDPReceiver只能接受“uint8”(默认)、“双”、“单”、“int8”、“int16”、“int16”、“uint16”、“uint16”、“int32”、“uint32”、“uint32”、“逻辑”。FYI,我通过UDP将整数发送到一个进程,以控制其中的一些操作。
我本来试过
echo 5 | netcat -u localhost 12345但是接收方(在Matlab中)输出ans = uint8 53,因为echo的输出是字符串,而不是数字5的二进制表示。
echo "obase=2;5" | bc -l|netcat -u localhost 12345但是获得结果ans = uint8 49,因为bc返回的是二进制文件的ASCII版本,而不是位本身。
我怎样才能通过netcat发送一个号码?
发布于 2022-01-06 23:05:27
有了选项,-e回显支持以十六进制或八进制的形式给出字节。对于-n,最后的换行符会被抑制:
echo -n -e '\x05' | netcat ...https://stackoverflow.com/questions/70614557
复制相似问题