php将字符串转为二进制数据串

/**
    * 将字符串转换成二进制
    * @param type $str
    * @return type
    */
    function StrToBin($str){
        //1.列出每个字符
        $arr = preg_split('/(?<!^)(?!$)/u', $str);
        //2.unpack字符
        foreach($arr as &$v){
            $temp = unpack('H*', $v);
            $v = base_convert($temp[1], 16, 2);
            unset($temp);
        }

        return join(' ',$arr);
    }

    /**
    * 将二进制转换成字符串
    * @param type $str
    * @return type
    */
    function BinToStr($str){
        $arr = explode(' ', $str);
        foreach($arr as &$v){
            $v = pack("H".strlen(base_convert($v, 2, 16)), base_convert($v, 2, 16));
        }
        return join('', $arr);
    }

 

posted @ 2017-10-31 14:19  克洛克达尔丶  阅读(12322)  评论(0编辑  收藏  举报