文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

php怎么实现转化为二进制字符串

2023-06-14 07:31

关注

小编给大家分享一下php怎么实现转化为二进制字符串,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

php实现字符串转化为二进制字符串的方法:首先创建一个PHP示例文件;然后通过“function StrToBin($str){...}”方法将字符串转换成二进制即可。

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

在网络上查找到了字符串与二进制相互转换的方法(相关问题描述和问题在下列代码中,请耐心查看,谢谢):

  function StrToBin($str){      //1.列出每个字符    // 这边的分割正则也不理解    // (?<!^) 后瞻消极断言    // (?!$) 前瞻消极断言    // 看意思好像说的是:不以^开头(但是这边 ^ 又没有被转义...),不以 $ 结尾(同上)    // 然后得到的记过就是字符串一个个被分割成了数组(郁闷)    // 求解释    $arr = preg_split('/(?<!^)(?!$)/u', $str);      //2.unpack字符      foreach($arr as &$v){                $temp = unpack('H*', $v); // 这边被解析出来的字符串为什么是 16进制的??        $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("php二次开发:www.php2.cc");;  echo '<br/>';  echo BinToStr("1110000 1101000 1110000 111001001011101010001100 111001101010110010100001 111001011011110010000000 111001011000111110010001 111011111011110010011010 1110111 1110111 1110111 101110 1110000 1101000 1110000 110010 101110 1100011 1100011");

上述的函数是怎样实现二进制和字符串的相互转换的??

-------分隔符-------

关于 pack 和 unpack 我已经清楚了!顺便分享下:

就用这边例子,说说我理解到的部分:

pack用法:

// 二进制数字 => 二进制字符串$bin_number = '这边是二进制数字';$hex = bin2hex($bin_number );// 由于指定了 H(16进制,高位在前),所以第二个参数需要使 16 进制字字符串// strlen($hex) 指定打包多少个 16 进制字符串// 也可以使用 * 来自动识别// 结果就是:二进制字符串了$bin_str = pack('H' . strlen($hex) , $hex);<=>$dec = bindec($bin_number);$hex = dechex($dec);$bin_str = hex2bin($hex);unpack 用法://  转换作用:2进制字符串 => 16进制字符串$str = unpack('H*' , '陈'); <=>$str = bin2hex('陈');

以上是“php怎么实现转化为二进制字符串”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯