首页 > tcl socket 如何发送16进制字节流

tcl socket 如何发送16进制字节流

在tcl socket编程时需要发送16进制的字节流,不清楚如何发送。我的操作步骤如下:

首先建立一个socket连接,代码为

set id [socket "2.1.1.9" 3000]

连接建立成功后

puts $id "12"
flush $id

抓包查看发送的数据为"3132","3132"是16进制的,换算成10进制为"4950",对应的ASCII就是"12",也就是说发送的"12"是ASCII格式的,现在我想直接发送16进制的"12"(抓包查看发送的数据为"12"),该如何操作呢?


如果这就是你的需求的话,\x12 就能达到目的。

Tcl 的设计哲学是 Everything is a string,因此不论你写 12 还是 "12" 都会被当作字符串输出。

当然 Tcl 也可以处理二进制数据,借助 binary 命令,你的目的也可以使用 [binary decode hex 12] 达到。

【热门文章】
【热门文章】