我有我从套接字读取数据时,我知道它的格式如下:获取十六进制值,并转换为十进制
[2字节] [8个字节] [2字节] = 12个字节
我想单独阅读;并且值以十六进制表示。其实我捕获数据前一阵子在PHP,并将其保存到文件,我可以用OD(UNIX)正常查看:
$ od -h myFile
$ 0000000 02eb 02fe fe02 fefe 02fe 02fe 000a
$ 0000015
也就是说,有CR和LF底,导致14个字节。 如何从套接字中读取Java中的这些值?例如,如何获得“02eb”(2个字节)并将其转换为十进制值?
我已经从插座上看书,我想最后一件事是:
mMessage = mBRin.readLine();
byte[] bytes = mMessage.trim().getBytes()
但是,让我在数组中18个字节。
如果有帮助,在PHP中拿到第一部分我做:
$input = socket_read($value,13,PHP_BINARY_READ);
$trim_input = trim($input);
$float_head = hexdec(bin2hex(substr($input,0,2)));
我觉得我不理解this,这可能是答案
这些值是二进制的。你用十六进制打印它们。 – EJP
我不确定你的意思,@EJP但是用十六进制打印他们我得到了他们应该是的。你的意思是插座读数? – quinestor