php 怎么把字符串转化为二进制流

如题所述

header("Content-type: text/html; charset=utf-8");
/**
* 将字符串转换成二进制
* @param type $str
* @return type
*/
function StrToBin($str){
//1.列出每个字符
$arr = preg_split('/(?
//2.unpack字符
foreach($arr as &$v){
$temp = unpack('H*', $v); $v = base_convert($temp[1], 16, 2);
unset($temp);
}
return join(' ',$arr);
}
/**
* 讲二进制转换成字符串
* @par
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-09
header("Content-type: text/html; charset=utf-8");    
 
/**
* 将字符串转换成二进制
* @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);
}

本回答被网友采纳
第2个回答  2016-11-17
用pack函数试试
相似回答