php 文件 byte数组,php实现java的byte数组转换
/**
* byte数组与字符串转化类
* @author zikie
* Created on 2011-7-15
*/
class Bytes {
/**
* 转换一个String字符串为byte数组
* @param $str 需要转换的字符串
* @param $bytes 目标byte数组
* @author Zikie
*/
public static function getBytes($str) {
$len = strlen($str);
$bytes = array();
for($i=0;$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 需要转换的字符串
* @author Zikie
*/
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 需要转换的字符串
* @author Zikie
*/
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;
}
}
?>
php 文件 byte数组,php实现java的byte数组转换相关推荐
- Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素-un
ylbtech-Java-Runoob-高级教程-实例-数组:10. Java 实例 – 查找数组中的重复元素 1.返回顶部 1. Java 实例 - 查找数组中的重复元素 Java 实例 以下实例 ...
- Java-Runoob-高级教程-实例-数组:03. Java 实例 – 获取数组长度-*
ylbtech-Java-Runoob-高级教程-实例-数组:03. Java 实例 – 获取数组长度 1.返回顶部 Java 实例 - 获取数组长度 Java 实例 本文我们将为大家介绍如何使用数 ...
- java二维数组的创建,java二维数组创建方法
java动态创建二维数组,从零学java笔录-第31篇 图解二位数组在内存中存储,java二维数组动态赋值,java二维数组创建方法 二维数组的定义 type arrayName[ ][ ]; typ ...
- java的byte php_java_浅谈java的byte数组的不同写法,(由于篇幅原因阐述的不够详 - phpStudy...
浅谈java的byte数组的不同写法 (由于篇幅原因阐述的不够详细科学,不喜勿喷). 经常看到java中对byte数组的不同定义,粗略整理的一下: 一个字节(byte)=8位(bit),"b ...
- java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)
java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...
- java中定义byte数组,浅谈java的byte数组的不同写法
(由于篇幅原因阐述的不够详细科学,不喜勿喷). 经常看到java中对byte数组的不同定义,粗略整理的一下: 一个字节(byte)=8位(bit),"byte数组"里面全部是&qu ...
- JAVA中一维数组的作用,JAVA中一维数组和二维数组的定义
在java中数组被看成是一个对象 在定义数组时,有两种定义方法:int[] a 和int a[]:第二种是C/C++对数组定义方式,对于JAVA建议采用第一种定义方式. 总的原则:任何对象在被调用之前 ...
- java 数组 参数 ppt,Java自学课件-数组.ppt
<Java自学课件-数组.ppt>由会员分享,可在线阅读,更多相关<Java自学课件-数组.ppt(23页珍藏版)>请在人人文库网上搜索. 1.Java程序设计,第6章 数组, ...
- php集合与数组的区别,java集合与数组的区别
数组 数组是java语言内置的数据类型,他是一个线性的序列,所有可以快速访问其他的元素,数组和其他语言不同.(推荐学习:java课程) 当你创建了一个数组时,他的容量是不变的,而且在生命周期也是不能改 ...
最新文章
- 如何在CentOS 5.x 中安装Windows Azure Linux Agent (WALA)
- 为mysql cluster添加sql节点
- php网页多个倒计时,怎么实现一个页面有多个倒计时同时进行
- 【JavaScript吉光片羽】--- 滑动条
- 在Linux中使用matplotlib进行科学画图
- 面试题 01.01. 判定字符是否唯一 (计数排序思想)
- canvas 绘制直线 并选中_canvas绘制飞线效果
- 获取点击按钮的元素_怎么按顺序自动点击网页所有链接
- centos安装pip失败:No package pip available.
- ApacheCN 翻译活动进度公告 2019.5.31
- EXCEL 对筛选结果进行排序
- 【支付】银行卡收单业务
- VR全景:三维电商势不可挡
- TTTTTTZZZZZZ(系统编程---初识线程,查看线程调用栈的三种方法)10
- 零基础Matlab Note9--离散数据绘图set(gca, )
- 枚举方法在swtch中的用法
- STM32加密保护工具 | STM32Trust介绍、解决方案
- PHP汉字转拼音的两种方法+PHP提取汉字(中文)方法
- Python-标准库calendar的使用
- Selenium:浏览器操作