php转换byte[]数据类型

发布时间:2021-09-21 08:34:58

class Bytes {
/**
* 转换一个string字符串为byte数组
* @param $str 需要转换的字符串
* @param $bytes 目标byte数组
*/
public static function getbytes($str) {
$len = strlen($str);
$bytes = array();
for($i=0;$i<$len;$i++) {
if(ord($str[$i]) >= 128){
$byte = ord($str[$i]) - 256;
}else{
$byte = ord($str[$i]);
}
$bytes[] = $byte ;
}
return $bytes;
}

/**
* 将字节数组转化为string类型的数据
* @param $bytes 字节数组
* @param $str 目标字符串
* @return 一个string类型的数据
*/
public static function tostr($bytes) {
$str = ';
foreach($bytes as $ch) {
$str .= chr($ch);
}
return $str;
}

/**
* 转换一个int为byte数组
* @param $byt 目标byte数组
* @param $val 需要转换的字符串
*/
public static function integertobytes($val) {
$byt = array();
$byt[0] = ($val & 0xff);
$byt[1] = ($val >> 8 & 0xff);
$byt[2] = ($val >> 16 & 0xff);
$byt[3] = ($val >> 24 & 0xff);
return $byt;
}

/**
* 从字节数组中指定的位置读取一个integer类型的数据
* @param $bytes 字节数组
* @param $position 指定的开始位置
* @return 一个integer类型的数据
*/
public static function bytestointeger($bytes, $position) {
$val = 0;
$val = $bytes[$position + 3] & 0xff;
$val <<= 8;
$val |= $bytes[$position + 2] & 0xff;
$val <<= 8;
$val |= $bytes[$position + 1] & 0xff;
$val <<= 8;
$val |= $bytes[$position] & 0xff;
return $val;
}

/**
* 转换一个shor字符串为byte数组
* @param $byt 目标byte数组
* @param $val 需要转换的字符串
*/
public static function shorttobytes($val) {
$byt = array();
$byt[0] = ($val & 0xff);
$byt[1] = ($val >> 8 & 0xff);
return $byt;
}

/**
* 从字节数组中指定的位置读取一个short类型的数据。
* @param $bytes 字节数组
* @param $position 指定的开始位置
* @return 一个short类型的数据
*/
public static function bytestoshort($bytes, $position) {
$val = 0;
$val = $bytes[$position + 1] & 0xff;
$val = $val << 8;
$val |= $bytes[$position] & 0xff;
return $val;
}
}

相关文档

  • 2018年山西翻译资格考试报名3月9日开通2018卫生资格考试成绩查询
  • 网友生日晚会主持词2礼仪主持
  • 小米6打开微信慢别的程序很快是什么原因
  • 自定义控件-- 柱状图--Android
  • 高中新生军训心得体会范文
  • 卫生资格考试复习技巧
  • 简爱里边的好词好句有哪些
  • 今年立秋的时间是几月几日
  • 中医立夏养生注意事项2017
  • ubuntu MeshLab安装
  • 生滚瘦肉粥
  • 顺祝商祺 顺祝商祺的格式怎么写
  • 治疗脱发的小窍门及注意事项
  • 剑指offer--平衡二叉树
  • 冰雪灾害的四个应对措施
  • 2020年毕业季喜欢的文案毕业赠言说说毕业季受欢迎的朋友圈文案大全
  • 电力岗前培训心得体会范文合集
  • DasLink:最新加密数字货币交易所生态数据报告
  • 时尚女装的广告词集锦
  • 近期入手一树莓派卡片机,体验了一下它的强大,写篇报告
  • Docker 系列学习之一 :Docker安装与卸载
  • Java基础(五)Java中的参数传递机制
  • java线程的5种状态及其转换
  • JAVA入门????Day09(方法)
  • 生病有感
  • 十岁小孩睡前故事大全
  • 12月份研究生入党自传模板
  • linux 下文件的3种时间状态 atime ctime mtime
  • 计算机网络安全技术本科论文范文
  • git 分支策略
  • 猜你喜欢

  • 备餐及供餐操作规程
  • 营销中心副总经理个人简历
  • 奥鹏心理健康培训测试与答案(必过满分版)
  • 百年中国的伦理学研究_万俊人
  • XX年春一年级数学下册期末试卷(北师版)
  • 部编版《道德与法治》九年级上册第四单元{和谐与梦想}试题及答案
  • 管理学 海底捞案例分析.分析[优质ppt]
  • 大学物理下 真空中的静电场
  • 非公有制企业党建典型汇报材料
  • 高考物理大一轮复*选修3_3第3课时热力学定律与能量守恒课件
  • Linux vs Window
  • 2019高中二年级上学期物理教学工作计划语文
  • 青阳县鑫磊非金属材料有限公司企业信用报告-天眼查
  • 人教版三年级上册语文期末试卷(2018新版教材)
  • 总结报告-述职报告范文(学院保卫处长) 精品
  • 2006—2007学年度北京市高三物理西城区2007年高三抽 ...(371K)
  • 三根电加热管和三相电怎么连接
  • 2020春北京课改版二年级数学下册-第6单元-第六单元检测1
  • leetcode-53. 最大子序和
  • 带有令的词语有哪些
  • 张家港市金港镇万鸿熟食店企业信息报告-天眼查
  • 励志电影放牛班的春天影精选篇800字五篇
  • 数控车工中级理论知识复*资料
  • 甘肃广林房地产开发有限公司(企业信用报告)- 天眼查
  • 创造高校与校企之间的双赢格局
  • (建设工程合同)建设工程施工合同(港口)
  • 新员工转正工作个人总结
  • adb查看某个文件是否存在_ADB文件及文件夹操作
  • 军校学员的入党志愿书-党团工会模板
  • 案例教学法在体育保健学课程教学中的应用分析
  • 2019版高考数学一轮复*第十二章不等式选讲第69讲绝对值不等式课件201805072196
  • 基团贡献人工神经网络集成法估算有机物熔点的研究
  • 妈富隆和米非司酮治疗围绝经期功能失调性子宫出血的疗效及对性激
  • 中考语文-2018年初中语文中考模拟复*冲刺测试题(18) 最新
  • java精确到小数点一位_java精确到小数点后一位
  • 大班幼儿教育论文
  • 潮州市潮安区丰盛工贸有限公司(企业信用报告)- 天眼查
  • 我国上市公司内部控制披露问题研究
  • 中医偏方治疗夏季上火牙痛
  • 苏科版生物八年级下册:25.2 关注家庭生活安全 课件(共23张PPT)
  • 19考研指导:辞职考研还来得及吗?
  • 三种方法求两个数最大公因数
  • 电脑版