我想通過 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 發送單個號碼?
uj5u.com熱心網友回復:
使用選項-eecho 支持給定位元組為十六進制或八進制。隨著-n最后的換行被抑制:
echo -n -e '\x05' | netcat ...
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/405289.html
標籤:
