关于php在通信协议中的使用研究

来源:互联网 发布:arp攻击软件使用方法 编辑:程序博客网 时间:2024/06/05 08:24

今天在使用php进行FMTCP通信的时候发现发送的数据是浮点数的16进制byte序列 因此发布两个函数 以防忘记


/**

* 16进制字符串转浮点数
*/
private function hexToFloat32($strHex) {
$binarydata32 = pack('H*',$strHex);
$float32 = unpack("f", $binarydata32); 
return $float32;
}
/**
* 浮点数转16进制
*/
private function float32ToHex($float) {
 $float32 = pack("f", $float);
 $binarydata32 =unpack('H*',$float32);
 return $this->_strrev($binarydata32[1]);
}
/**
* 浮点数字符串逆序分割
*/
private function _strrev($s, $x = 2) {
   if ($x <= 1) {
       return strrev($s);
   } else {
       return (implode(array_reverse(array_map('implode', array_chunk(str_split($s), $x)))));
   }
}
原创粉丝点击