首页 / PHP / php兑现java的byte数组转换
php兑现java的byte数组转换
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php兑现java的byte数组转换,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2751字,纯文字阅读大概需要4分钟。
内容图文
php实现java的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<$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 需要转换的字符串
???? * @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;
??? }
???
}
?>
1 楼 tron.lu 2012-02-06
3des 加密的时候用吗?2 楼 heaven__18 2012-03-13
在很多地方都能用的到。内容总结
以上是互联网集市为您收集整理的php兑现java的byte数组转换全部内容,希望文章能够帮你解决php兑现java的byte数组转换所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。