- 主题:PHP怎么对数据进行crc16值?
从socket上接收到的网络raw data,
先转换成数组,然后逐个取数组的元素循环做计算吗?
crc16($data)
{
}
--
修改:mykeyboard FROM 121.35.183.*
FROM 121.35.183.*
crc32() 是核心函数
有人在手册加了下面评论:
A faster implementation of modbus CRC16
function crc16($data)
{
$crc = 0xFFFF;
for ($i = 0; $i < strlen($data); $i++)
{
$crc ^=ord($data[$i]);
for ($j = 8; $j !=0; $j--)
{
if (($crc & 0x0001) !=0)
{
$crc >>= 1;
$crc ^= 0xA001;
}
else
$crc >>= 1;
}
}
return $crc;
}
【 在 mykeyboard (scheme) 的大作中提到: 】
: 从socket上接收到的网络raw data,
: 先转换成数组,然后逐个取数组的元素循环做计算吗?
: crc16($data)
: ...................
--
FROM 183.23.73.*
thanks
【 在 chaobill 的大作中提到: 】
: crc32() 是核心函数
: 有人在手册加了下面评论:
: A faster implementation of modbus CRC16
: ...................
--
FROM 119.139.197.*