‘壹’ php 怎么把字符串转化为二进制流
header("Content-type:text/html;charset=utf-8");
/**
*将字符串转换成二进制
*@paramtype$str
*@returntype
*/
functionStrToBin($str){
//1.列出每个字符
$arr=preg_split('/(?<!^)(?!$)/u',$str);
//2.unpack字符
foreach($arras&$v){
$temp=unpack('H*',$v);
$v=base_convert($temp[1],16,2);
unset($temp);
}
returnjoin('',$arr);
}
/**
*讲二进制转换成字符串
*@paramtype$str
*@returntype
*/
functionBinToStr($str){
$arr=explode('',$str);
foreach($arras&$v){
$v=pack("H".strlen(base_convert($v,2,16)),base_convert($v,2,16));
}
returnjoin('',$arr);
}
‘贰’ 怎样在PHP中把16进制HEX数据转换为2进制数据呢
十六进制转为二进制有两种理解方法,第一是十六进制字符串转二进制字符串,第二是十六进制数转二进制数,下面分别介绍2种转换方法:
1.hex2bin函数可以将十六进制字符串转换为二进制字符串,详细用法如下:
hex2bin — 转换十六进制字符串为二进制字符串
stringhex2bin(string$data)
转换十六进制字符串为二进制字符串。
参数:
data:十六进制表示的数据
返回值:
返回给定数据的二进制表示 或者在失败时返回 FALSE。
异常:
如果输入的十六进制字符串是奇数长数或者无效的十六进制字符串将会抛出E_WARNING 级别的错误。
示例:
$hex=hex2bin("");
echo$hex;//examplehexdata(其中16进制代表的是ascii码)
2.base_convert是真正意义上的进制转换函数
base_convert — 在任意进制之间转换数字
stringbase_convert(string$number,int$frombase,int$tobase)
返回一字符串,包含 number以 tobase 进制的表示。number 本身的进制由frombase指定。frombase 和 tobase 都只能在2 和 36 之间(包括 2 和 36)。高于十进制的数字用字母 a-z 表示,例如a 表示 10,b 表示 11 以及 z 表示 35。
参数:
number:要转换的数字
frombase:原始进制
tobase:转换后的进制
示例:
$hexadecimal='A37334';
echobase_convert($hexadecimal,16,2);//101000110111001100110100
‘叁’ PHP中怎么以二进制形式表示数字
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php。
‘肆’ php将图片转为二进制后,我想得到二进制的数据,但是直接在浏览上输出会乱码
如果 你是想保存成图片文件的话, 那你就把二进制数据写到文件里, 记得文件后缀是 gif
For Example:
file_put_contents('1.gif', $a);
‘伍’ 用PHP写一个进制转换的程序。增加如下图的一个表单,用PHP函数完成。10转2,10转8,10转16进制。
<?php
$frombase ='';
$tobase ='';
if($_POST){
$frombase =$_POST['frombase'];
$type =$_POST['type'];
switch($type){
case1:
$tobase=base_convert($frombase,10,2);break;
case2:
$tobase=base_convert($frombase,10,8);break;
case3:
$tobase=base_convert($frombase,10,16);break;
}
}
?>
<formaction=""method="post">
数:<inputtype="text"name="frombase"value="<?phpecho$frombase;?>"size="20"/>
<selectname="type">
<optionvalue="1">10to2</option>
<optionvalue="2">10to8</option>
<optionvalue="3">10to16</option>
</select>
<inputtype="submit"value="转换"/>
<inputtype="text"value="<?phpecho$tobase;?>"size="20"/>
</form>
试试看是不是您想要的写法。
‘陆’ PHP fprintf说明
PHP 的 fprintf 函数用于格式化输出字符串。以下是对 PHP fprintf 函数的详细说明:
基本功能:fprintf 函数根据指定的格式输出字符串。格式以百分比符号开始,到转换字符结束。
参数:
格式说明符:
执行过程:fprintf 函数在执行时,会逐步将参数插入到格式字符串中的相应位置。第一个 % 符号处插入 arg1,第二个 % 符号处插入 arg2,依此类推。
使用 fprintf 函数可以方便地按照指定的格式输出数据,适用于需要精确控制输出格式的场景。