php 字符串与二进制互转

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);
}
echo StrToBin("php开发教程:www.web3.xin");
echo BinToStr("1110000 1101000 1110000 111001001011101010001100 111001101010110010100001 111001011011110010000000 111001011000111110010001 111011111011110010011010 1110111 1110111 1110111 101110 1110000 1101000 1110000 110010 101110 1100011 1100011");
联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2024

备案号:京ICP备15003423号-3