PHP实现INT型,SHORT型,STRING转换成BYTE数组
实现PHP实现INT型,SHORT型,STRING转换成BYTE数组的转化:
class Bytes {
public static function integerToBytes($val) {
$val = (int)$val;
$byte = array();
//低位在前,即小端法表示
$byte[0] = ($val & 0xFF);//掩码运算
$byte[1] = ($val >> 8 & 0xFF);
$byte[2] = ($val >> 16 & 0xFF);
$byte[3] = ($val >> 24 & 0xff);
return $byte;
}
public static function bytesToInteger(array $bytes, $pos) {
$val = 0;
$val = $bytes[$pos + 3] & 0xff;
$val <<= 8;
$val |= $bytes[$pos + 2] & 0xff;
$val <<= 8;
$val |= $bytes[$pos + 1] & 0xff;
$val <<= 8;
$val |= $bytes[$pos + 0] & 0xff;
return intval($val);
}
public static function shortToBytes($val) {
$val = intval($val);
$byt = array();
$byt[0] = ($val & 0xff);
$byt[1] = ($val >> 8 & 0xff);
return $byt;
}
public static function bytesToShort($bytes) {
$val = 0;
$val = $bytes[1] & 0xff;
$val <<= 8;
$val |= $bytes[0] & 0xff;
return $val;
}
public static function String2AsciiArray($str) {
$str = (string) $str;
$strLength = strlen($str);
$rtn = array();
for($i = 0; $i < $strLength; $i++) {
$rtn[]= ord($str[$i]);
}
return $rtn;
}
}