『壹』 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 函數可以方便地按照指定的格式輸出數據,適用於需要精確控制輸出格式的場景。