实现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;
  }
}

PHP实现INT型,SHORT型,STRING转换成BYTE数组的更多相关文章

  1. 将文件转换成byte[]数组

    代码 /// <summary> /// 将文件转换成byte[] 数组 /// </summary> /// <param name="fileUrl&quo ...

  2. Map 转换成byte[] 数组

    把Map转换成byte数组,使用 ByteArrayOutputStream和ObjectOutputStream Map<String,String> map = new HashMap ...

  3. 将文件File转换成byte数组

    代码如下: /** * 将文件转换成byte数组 * @param filePath * @return */ public static byte[] File2byte(File tradeFil ...

  4. JAVA将文件转换成byte数组(byte[])

    /** * 将文件转换成byte数组 * @param filePath 文件File类 通过new File(文件路径) * @return byte数组 */ public static byte ...

  5. 怎样将short[]数组转换成byte[]数组

    byte[] byteArray = Array.ConvertAll<short, byte>(shortArray, Convert.ToByte);

  6. C# 中怎么将string转换成int型

    int intA = 0;1.intA =int.Parse(str);2.int.TryParse(str, out intA);3.intA = Convert.ToInt32(str);以上都可 ...

  7. 在C#中将String转换成Enum:

    一:  在C#中将String转换成Enum: object Enum.Parse(System.Type enumType, string value, bool ignoreCase); 所以,我 ...

  8. C# 字符串string类型转换成DateTime类型 或者 string转换成DateTime?(字符串转换成可空日期类型)

    在c#中,string类型转换成DateTime类型是经常用到的,作为基本的知识,这里在此做个小结.一般来说可以使用多种方法进行转换,最常用的就是使用Convert.ToDateTime(string ...

  9. string转换成color转

    string转换成color             string col = "#FF8400";            this.BackColor = System.Draw ...

随机推荐

  1. Bzoj 1088: [SCOI2005]扫雷Mine (DP)

    Bzoj 1088: [SCOI2005]扫雷Mine 怒写一发,算不上DP的游戏题 知道了前\(i-1\)项,第\(i\)项会被第二列的第\(i-1\)得知 设\(f[i]\)为第一列的第\(i\) ...

  2. proto_ops和proto区别

    **proto_ops:**该结构体包含了某个特定的"protocol family"的一系列functions. 其包含的functions和struct proto很类似,但是 ...

  3. 译文 编写一个loader

    https://doc.webpack-china.org/contribute/writing-a-loader loader是一个导出了函数的node模块,当资源须要被这个loader所转换的时候 ...

  4. 编写testplan

    编写验证计划是验证工作核心技能.衡量标准是完备性.可是写一个完备的验证计划,才开始不是一件容易的事情,需要不断的练习实践. 1.验证计划主要从设计的futurelist中提取.     复杂的futu ...

  5. Mining of Massive Datasets-1

    given lots of data->discover patterns and models that are: valid, useful, unexpected, understanda ...

  6. 服务不支持 chkconfig 的解决方法

    “服务不支持 chkconfig”: 请注意检查脚本的前面,是否有完整的两行:#chkconfig: 2345 80 90    #description:auto_run 在脚本前面这两行是不能少的 ...

  7. luogu3698 [CQOI2017]小Q的棋盘

    最长链是根节点到深度最深的结点的路径. 显然,要么直接走最长链,要么兜兜转转几个圈圈再走最长链,而最长链以外的结点因为要"兜圈",所以要经过两次. #include <ios ...

  8. jsonp实现跨域访问json数据

    前台js function init() { $.ajax({ url: 'http://localhost:8012/index.json', dataType: "jsonp" ...

  9. webforms字典参数处理

    当webforms参数中的value是一个字典时,加上‘’即可正常传参.

  10. [android开发篇]权限列表

    http://www.open-open.com/lib/view/open1425868811607.html