首页  >  文章  >  后端开发  >  php转换为二进制的实现方法

php转换为二进制的实现方法

藏色散人
藏色散人原创
2020-08-31 09:39:544595浏览

php转换为二进制的实现方法:首先创建一个PHP示例文件;然后定义一个StrToBin方法;接着通过unpack方法解析字符串;最后通过“base_convert”函数转换为二进制即可。

php转换为二进制的实现方法

推荐:《PHP视频教程

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

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

  

/** 
* 将字符串转换成二进制 
* @param type $str 
* @return type 
* php 中显示的字符串是多少进制的??
* 例如:$str = '你好'; // 这边的 '你好' 是什么进制数据(我知道他是字符串!)??
*/  
function StrToBin($str){  
    //1.列出每个字符
    // 这边的分割正则也不理解
    // (?';  
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转换为二进制的实现方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn