導航:首頁 > 編程語言 > 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寫入二進制相關的資料

熱點內容
不用時怎麼加密電腦 瀏覽:54
不玩手機APP怎麼開啟警報 瀏覽:560
打開微信收付款加密 瀏覽:400
小度app怎麼關閉看護助手 瀏覽:739
伺服器方舟boss屬性怎麼調 瀏覽:345
acos系統終端命令 瀏覽:915
寧德雲伺服器最新行情 瀏覽:475
壓縮性骨折五十天 瀏覽:656
如何在伺服器里把方塊替換 瀏覽:909
變頻空調摘板用什麼替代壓縮機 瀏覽:46
怎麼在蘋果手機上玩安卓和平精英 瀏覽:237
python非同步調用框架 瀏覽:963
安卓手機如何拍live圖 瀏覽:823
供應鏈管理系統源碼 瀏覽:944
方舟編譯器會適配哪些型號 瀏覽:470
主流雲伺服器哪個牌子好 瀏覽:267
導航怎麼看伺服器在那 瀏覽:932
廣石化單片機 瀏覽:281
和教育連接伺服器失敗是什麼原因 瀏覽:1003
建行app怎麼存定期 瀏覽:830