zoukankan      html  css  js  c++  java
  • 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;
      }
    }
  • 相关阅读:
    github pages 正确访问方式
    jetty 热部署
    mysql 距离函数
    通过微信公众号ID生成公众号的二维码
    SQL Server 数据库备份失败解决方法
    js 替换部分内容为星号
    mysql 允许远程登录
    nginx 跨域配置
    两台阿里云服务器之间数据迁移
    新装修入住常识有什么
  • 原文地址:https://www.cnblogs.com/sanshuiqing/p/3568469.html
Copyright © 2011-2022 走看看