我需要用16進(jìn)制和TCP客戶(hù)端的硬件做通信
我在網(wǎng)上找了很多發(fā)送和接收16進(jìn)制數(shù)據(jù)的方法
比如:
1.
接收16進(jìn)制數(shù)據(jù)
當(dāng)收到數(shù)據(jù)后用函數(shù)bin2hex($data)可以將數(shù)據(jù)轉(zhuǎn)換成16進(jìn)制。
發(fā)送16進(jìn)制數(shù)據(jù)
發(fā)送數(shù)據(jù)前用hex2bin($data)將16進(jìn)制數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制發(fā)送。
2.
$cont='1ab63c082d6e';
Gateway::sendToClient($client_id,pack("H*",$cont)) ;
發(fā)送后,收到1a b6 3c 08 2d 6e
?
這種是發(fā)送固定16進(jìn)制序列,而我需要自定義16進(jìn)制數(shù)組,因?yàn)榭赡軙?huì)根據(jù)實(shí)際情況發(fā)送不同的數(shù)值,可能會(huì)改變數(shù)組中的某些元素
那么問(wèn)題來(lái)了,怎么定義這個(gè)16進(jìn)制數(shù)組,并且以16進(jìn)制的形式發(fā)送出去?
我是搞單片機(jī)的,PHP剛開(kāi)始學(xué),謝謝各位大神!
php 里字符串就是數(shù)組吧,可以通過(guò)下標(biāo)來(lái)更改某個(gè)字節(jié)的值的。
比如?
$str = 'abcdefg';
$str = 'a';
var_export($str);
輸出
aacedefg