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"); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
