网站首页文章详情

PHP把字符串转成二进制再转回来的方法

发布时间:2013-06-29 10:12编辑:胜男

<?php
header("content-type:text/html;charset=utf-8");
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);
}
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('欢迎来到左鹏的博客')."<br />";
echo BinToStr(StrToBin('欢迎来到左鹏的博客'));
?>