當前位置:首頁 » 編程語言 » php轉2進制

php轉2進制

發布時間: 2022-07-27 14:24:26

php 怎麼把字元串轉化為二進制流

header("Content-type: text/html; charset=utf-8");
/**
* 將字元串轉換成二進制
* @param type $str
* @return type
*/
function StrToBin($str){
//1.列出每個字元
$arr = preg_split('/(?
//2.unpack字元
foreach($arr as &$v){
$temp = unpack('H*', $v); $v = base_convert($temp[1], 16, 2);
unset($temp);
}
return join(' ',$arr);
}
/**
* 講二進制轉換成字元串
* @par

⑵ PHP函數怎麼把十進制轉換為二進制

PHP decbin函數的作用是把十進制轉換為二進制。

用法:

參數 描述

dec_number 必需。規定要轉換的十進制數。

示例:

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

輸出:

11
1
11000110011
111

⑶ php如何讓變數里的值為二進制,我轉換了但是一運算就變成十進制了,右移>>之後就變成十進制了

無論什麼語言中的位運算符都是按照計算機內的二進制而言的。
所以在人為計算的時候要將十進制的數字轉化為二進制的數字運算後計算,再轉回十進制即是答案。

我們來舉個簡單的例子吧。

2 & 1 = 0
其運算過程為(這後面的都是二進制) 10 & 01,第一位1和0求與是0,第二位0和1求與為0,結果是00那答案就是0
來個復雜點的。
10 & 11 = 10;
換成二進制 1010 & 1011 = 1010 答案還是10;

所有的為運算符都是基於二進制來產生的。所以在&(與)、|(或)、^(異或)這三個預算中,要將兩個或者更多運算數據轉化為二進制數字,逐位進行運算。
~(取反)運算則更簡單,轉化為二進制以後0則寫為1,1則寫為0,然後再轉回十進制就OK

最後來說說<<(進位)與>>(退位)。同樣,位運算也是基於二進制的。將運算符前的值轉化為二進制,運算符後的數可以還保留十進制。然後看作小數點位置不變,然所有數字(包括前後有無限個0),向左(進位)或向右(退位)移動N個數位,N則是運算符右邊的數字。

舉個例子 10<< 3 二進制轉化1010 << 3
這個可以看作1010.000 << 3 然後保持小數點位置不變,所有數字整體向左位移3位。
結果就是1010000,轉回十進制80。
對於進位而言,每進一位相當於乘2,每退一位相當於除2。

有問題追問

⑷ php中如何將圖片轉成二進制呢

安卓蘋果的開發都可以支持類似windows的socket io 庫吧?

一般情況下,一個安卓應用 常用到的絕大部分圖片是存儲在手機端的,只有少量的必須獲取的才會下載,下載一般也是 net io

⑸ PHP中怎麼以二進制形式表示數字

需要准備的材料分別是:電腦、php編輯器、瀏覽器。

1、首先,打開php編輯器,新建php文件,例如:index.php。

⑹ 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 如何將字元串、數字等轉換為二進制數組

<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>

輸出:
Array
(
[1] => 80
[2] => 72
[3] => 80
)

⑻ PHP 進制轉換 10進制轉2進制 自定義個函數

以下是一個轉換函數:

function dec_to_bin($datalist,$bin)
{
static$arr=array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F');
if(!is_array($datalist)) $datalist=array($datalist);
if($bin==10) return $datalist; //相同進制忽略
$bytelen=ceil(16/$bin); //獲得如果是$bin進制,一個位元組的長度
$aOutChar=array();
foreach($datalist as $num)
{
$t="";
$num=intval($num);
if($num===0) continue;
while($num>0)
{
$t=$arr[$num%$bin].$t;
$num=floor($num/$bin);
}
$tlen=strlen($t);
if($tlen % $bytelen != 0)
{
$pad_len=$bytelen-$tlen%$bytelen;
$t=str_pad("",$pad_len,"0",STR_PAD_LEFT).$t; //不足一個位元組長度,自動前面補充0
}
$aOutChar[]=$t;
}
return$aOutChar;
}

其實,PHP的base_convert、decbin函數就可以完成類似功能。

⑼ 求解 使用php將1000位的十進制大數轉成二進制

下面的代碼測試通過的,我只用幾10位進行測試,理論上成千上萬位結果也是正確的,供你參考,演算法比較笨蛋(完全模仿人工的除2取余):

<?php
//超大整數(10進制)轉換為二進制數
$n='845';
//$n='15';//1111
//$n='257';//100000001
$r='';//結果
while($n){
//$n整除2,商$m、余數$k
$k=0;
$m='';
do{
$k=$k*10+substr($n,0,1);
if($m!=''||$k>1)$m.=floor($k/2);
$k=$k%2;
$n=substr($n,1);
//$r=$k.$r;
}while($n!='');
//echo"r=$r;m=$m ";//break;
//下一輪除法
$n=$m;
$r=$k.$r;
}
echo$r;
?>

⑽ php將圖片文件轉換成二進制輸出的方法

本文實例講述了php將圖片文件轉換成二進制輸出的方法。分享給大家供大家參考。具體實現方法如下:
1
2
3
4
header(
Content-type:
image/jpeg);
$PSize
=
filesize('1.jpg');
$picturedata
=
fread(fopen('1.jpg',
r),
$PSize);
echo
$picturedata;
就這么簡單4行代碼,就將圖片以二進制流的形式輸出到客戶端了,和打開一張圖片沒有任何區別。
這里需要注意的是,發送的header要根據具體情況而定,不一定都是image/jpeg。JPG的就是image/jpeg,但PNG的就是image/png.不同類型的圖片輸出不同的頭部。

熱點內容
apk反編譯入門 發布:2025-01-25 01:26:43 瀏覽:472
英雄聯盟在哪投訴腳本 發布:2025-01-25 01:26:43 瀏覽:314
php在線統計 發布:2025-01-25 01:26:42 瀏覽:65
手機加密室 發布:2025-01-25 01:25:57 瀏覽:219
搭建excel伺服器 發布:2025-01-25 01:25:19 瀏覽:1000
雙系統win7和linux 發布:2025-01-25 01:25:19 瀏覽:606
為什麼蘋果手機攝像比安卓好 發布:2025-01-25 01:06:48 瀏覽:787
linux查看系統多少位 發布:2025-01-25 01:04:31 瀏覽:121
雲伺服器體驗香港虛擬主機空間 發布:2025-01-25 00:51:19 瀏覽:812
空氣能膨脹罐如何配置 發布:2025-01-25 00:50:33 瀏覽:312