实现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. C++系统学习之六:函数

    1.函数基础 典型的函数定义包括:返回类型.函数名.由0个或多个形参组成的列表以及函数体. 2.参数传递 形参初始化的机理和变量初始化一样. 有两种方式:引用传递和值传递 2.1 传值参数 当形参是非 ...

  2. H5移动端触摸事件:touchstart、touchend、touchmove

    第一部分代码事例: <html><head> <meta charset="utf-8"> <style> #main,#main1 ...

  3. Kali入门配置使用(一)

    一.Kali简介 1.1.相关连接 Kali百度百科:https://baike.baidu.com/item/Kali%20linux/8305689?fr=aladdin Kali wiki:ht ...

  4. windows python MySQLdb 安装配置

    一.环境 系统:windows10/7/8 软件: 1.python2.7.XX(https://www.python.org/downloads/或者https://www.python.org/f ...

  5. 关于$test$plusargs和$value$plusargs的小结

    见: http://www.cnblogs.com/nanoty/p/4355245.html

  6. perl学习之I/O基础

    1.从标准输入进行输入<STDIN> 2.从钻石操作符进行输入<> 3.参数调用@ARGV 4.向标准输出进行输出 5.用printf进行格式化输出 1.<STDIN&g ...

  7. leetcode-2-basic

    解题思路: 题目本身挺简单的,考虑用set,判断每个单词的字母是不是属于同一个集合.需要注意的是:1)set的构造方法:2)单词可能是大小写混合的,不一定只是首字母大写: 3)break是跳出循环=. ...

  8. ProxyHandler处理器__代理设置__自定义opener

    ProxyHandler处理器(代理设置) 使用代理IP,这是爬虫/反爬虫的第二大招,通常也是最好用的. 很多网站会检测某一段时间某个IP的访问次数(通过流量统计,系统日志等),如果访问次数多的不像正 ...

  9. SPOJ - ADAQUEUE ,双端队列简单运用!

    ADAQUEUE - Ada and Queue 表示这题是学弟带的榜,题还没看完,学弟吐了一句:这不就是双端队列嘛.于是掏出布满尘埃的<曾粽根ACM程序设计>,嗯,确实是裸题,现学现做. ...

  10. “玲珑杯”ACM比赛 Round #13 B -- 我也不是B,倍增+二分!

    B  我也不是B   这个题做了一下午,比赛两个小时还是没做出来,比完赛才知道要用一个倍增算法确定区间,然后再二分右端点.   题意:定义一个序列的混乱度为累加和:b[i]*v[i],b[i]为这个序 ...