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;

  }

}