加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php源码之字符串与二进制相互转换

发布时间:2020-05-25 02:19:16 所属栏目:PHP 来源:互联网
导读:二进制是计算技术中广泛采用的一种数制,通常是以0或1两个数码来表示的数,下文我们来看一个PHP二进制与字符串之间的相互转换函数,感兴趣的朋友可以参考一下。

php字符串与二进制相互转换

源码如下:

// 字符串转换为二进制

// Should output: 0101001101110100011000010110001101101011

$value = unpack('H*',"Stack");

echo base_convert($value[1],16,2);

// 二进制转换为字符串

// Should output: Stack

echo pack('H*',base_convert('0101001101110100011000010110001101101011',2,16));

例外一种方法:

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],2);

unset($temp);

}

return join(' ',$arr);

}

/**

* 讲二进制转换成字符串

* @param type $str

* @return type

*/

/* http://www.manongjc.com/article/1587.html */

function BinToStr($str){

$arr = explode(' ',$str);

foreach($arr as &$v){

$v = pack("H".strlen(base_convert($v,16)),base_convert($v,16));

}

return join('',$arr);

}

echo StrToBin("脚本之家教程:www.manongjc.com");;

echo '
';

echo BinToStr("1110000 1101000 1110000 111001001011101010001100 111001101010110010100001 111001011011110010000000 111001011000111110010001 111011111011110010011010 1110111 1110111 1110111 101110 1110000 1101000 1110000 110010 101110 1100011 1100011");

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读