首页后端开发PHPPHP怎样将字符串转byte数组,代码怎样写?

PHP怎样将字符串转byte数组,代码怎样写?

时间2024-03-25 10:34:05发布访客分类PHP浏览1478
导读:这篇文章给大家分享的是PHP怎样将字符串转byte数组的操作方法。小编觉得挺实用的,因此分享给大家做个参考,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。 本文操作环境:Windows7系统、PHP7.1...

这篇文章给大家分享的是PHP怎样将字符串转byte数组的操作方法。小编觉得挺实用的,因此分享给大家做个参考,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。

本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑

php怎么实现转成byte数组?

php转换byte[]数据类型

代码如下:

?php
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;

    }

}
    

以上就是关于PHP将字符串转byte数组的介绍,上述示例具有一定的参考价值,有需要的朋友可以了解看看,希望对大家学习PHP有帮助,想要了解更多可以继续浏览网络其他相关的文章。

文本转载自PHP中文网

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: PHP怎样将字符串转byte数组,代码怎样写?
本文地址: https://pptw.com/jishu/652722.html
PHP变量赋值中内部对数据处理的原理怎么理解 PHP常见的定时器有几种,如何实现呢?

游客 回复需填写必要信息