导航:首页 > 编程语言 > php写入二进制

php写入二进制

发布时间:2023-09-20 04:09:52

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函数怎么把十进制转换为二进制

PHP decbin函数的作用是把十进制转换为二进制。

用法:

参数 描述

dec_number 必需。规定要转换的十进制数。

示例:

<?php
echodecbin("3");
echodecbin("1");
echodecbin("1587");
echodecbin("7");
?>

输出:

11
1
11000110011
111

㈢ php 图片以二进制流的形式存入数据库。并且能显示出来。

这个真不会。

㈣ 在PHP中,字母a和字母A的二进制,八进制,十进制,十六进制的写法是什么

字母"a":

二进制:1100001

八进制:141

十进制:97

十六进制:61

你可以通过以下代码来查看:

<?php
$num=ord('a');
//二进制
echodecbin($num),',';
//八进制
echodecoct($num),',';
//十进制
echo$num,',';
//十六进制
echodechex($num),',';

㈤ 怎样在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怎样将二进制流存到文件中

整形转化成2二进制可以用base_convert:

$str=0x8000;

echo$str2=base_convert($str,16,2);
echo'<br>';
echobase_convert($str2,2,16);
[code]

字符串文件等可以考虑用pack和unpack转化成二进制

[code=PHP]
$file1='F:/46.gif';//随便拷一个图片作为测试用
$file2='F:/test.txt';//生成的二进制流保存在这个文件里
$file3='F:/47.gif';//由二进制流还原成的文件

$size=filesize($file1);

echo'文件大小为:'.$size;
echo" <br>转化为二进制...";

$content=file_get_contents($file1);
$content=bstr2bin($content);


$fp=fopen($file2,'w');
fwrite($fp,$content);
fclose($fp);

$size2=filesize($file2);

echo'转化成二进制后文件大小为:'.$size2;

$content=bin2bstr($content);

$fp=fopen($file3,'w');
fwrite($fp,$content);
fclose($fp);


functionbin2bstr($input)
//Convertabinaryexpression(e.g.,"100111")intoabinary-string
{
if(!is_string($input))returnnull;//Sanitycheck

//Packintoastring
$input=str_split($input,4);
$str='';
foreach($inputas$v)
{
$str.=base_convert($v,2,16);
}

$str=pack('H*',$str);

return$str;
}

functionbstr2bin($input)
//Binaryrepresentationofabinary-string
{
if(!is_string($input))returnnull;//Sanitycheck

//Unpackasahexadecimalstring
$value=unpack('H*',$input);

//Outputbinaryrepresentation
$value=str_split($value[1],1);
$bin='';
foreach($valueas$v)
{
$b=str_pad(base_convert($v,16,2),4,'0',STR_PAD_LEFT);

$bin.=$b;
}

return$bin;
}

㈦ 急求php中如何存取二进制文件(如AutoCAD图)分不够就加!!!

<?php
$user='root';
$password='root';
$db='test';
$connect=mysql_connect('localhost',$user,$password);
mysql_set_charset('utf8',$connect);
mysql_select_db($db);

$photo = "0x".bin2hex(file_get_contents("./test.jpg"));
$sql="INSERT INTO `test`.`test` (`photo`) VALUES ($photo);";//$photo不需要用引号,切记
mysql_query($sql);

//$result=mysql_query("SELECT *
//FROM `test`
//LIMIT 0 , 30");
//$img=mysql_fetch_array($result);
//echo $img['photo'];
?>

阅读全文

与php写入二进制相关的资料

热点内容
msdos编译教程 浏览:978
怎么去文件夹后缀 浏览:445
粉笔app笔试真题在哪里 浏览:108
晋江小说阅读app怎么注册填写验证 浏览:157
安卓手机如何将手机app安装到u盘 浏览:520
指针编译在哪运行 浏览:810
dnf大枪压缩补丁 浏览:355
linux命令env 浏览:914
浙江app遥控锁哪里有 浏览:708
qq别人加密了怎样才能给他解开 浏览:253
程序员离职开店 浏览:770
excel不能对多重区域使用此命令 浏览:969
手机影像算法盘点 浏览:729
反编译为什么不能得到源代码 浏览:926
php最流行的框架 浏览:191
cnc编程哪种软件好 浏览:1004
电脑编程软件报班学习 浏览:507
pull命令从手机导出指定文件 浏览:609
怎么访问ip服务器地址 浏览:642
单片机从入门到精通PDF 浏览:190