首页 / PHP / php转换为二进制的实现方法
php转换为二进制的实现方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php转换为二进制的实现方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2530字,纯文字阅读大概需要4分钟。
内容图文
![php转换为二进制的实现方法](/upload/InfoBanner/zyjiaocheng/124/609ff642960b4ddd97751b0408060414.jpg)
php转换为二进制的实现方法:首先创建一个PHP示例文件;然后定义一个StrToBin方法;接着通过unpack方法解析字符串;最后通过“base_convert”函数转换为二进制即可。
推荐:《PHP视频教程》
PHP 字符串 与 二进制相互转换
在网络上查找到了字符串与二进制相互转换的方法(相关问题描述和问题在下列代码中,请耐心查看,谢谢):
/** * 将字符串转换成二进制 * @param type $str * @return type * php 中显示的字符串是多少进制的?? * 例如:$str = '你好'; // 这边的 '你好' 是什么进制数据(我知道他是字符串!)?? */ function StrToBin($str){ //1.列出每个字符 // 这边的分割正则也不理解 // (?<!^) 后瞻消极断言 // (?!$) 前瞻消极断言 // 看意思好像说的是:不以^开头(但是这边 ^ 又没有被转义...),不以 $ 结尾(同上) // 然后得到的记过就是字符串一个个被分割成了数组(郁闷) // 求解释 $arr = preg_split('/(?<!^)(?!$)/u', $str); //2.unpack字符 foreach($arr as &$v){ /** * unpack:将二进制字符串解包(英语原文:Unpack data from binary string) * H: 英语描述原文:Hex string, high nibble first * 这段代码做了什么?? */ $temp = unpack('H*', $v); // 这边被解析出来的字符串为什么是 16进制的?? $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.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转换为二进制的实现方法的详细内容。
本文系统来源:https://www.php.cn/php-ask-459345.html内容总结
以上是互联网集市为您收集整理的php转换为二进制的实现方法全部内容,希望文章能够帮你解决php转换为二进制的实现方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。