加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php字符串与byte字节数组转化类示范

发布时间:2023-05-25 13:06:53 所属栏目:PHP教程 来源:
导读:php字符串与byte字节数组转化类示范:<?php /** * byte数组与字符串转化类 */ class Bytes { /** * 转换一个String字符串为byte数组 * @param $str 需要转换的字符串 * @param $bytes 目标byte数组

php字符串与byte字节数组转化类示范:

<?php  

/**  

* byte数组与字符串转化类  

*/ 

class Bytes {     

/**     

* 转换一个String字符串为byte数组    

* @param $str 需要转换的字符串     

* @param $bytes 目标byte数组  

* @author Zikie   

*/ 

    public static function getBytes($string) {  

        $bytes = array();  

        for($i = 0; $i < strlen($string); $i++){  

             $bytes[] = ord($string[$i]);  

        }  

        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;  

    }  

}  

?> 

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!