欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

php怎么保存hex數(shù)據(jù)的簡單介紹

怎樣在PHP中把16進制HEX數(shù)據(jù)轉換為2進制數(shù)據(jù)呢?

十六進制轉為二進制有兩種理解方法,第一是十六進制字符串轉二進制字符串,第二是十六進制數(shù)轉二進制數(shù),下面分別介紹2種轉換方法:

成都創(chuàng)新互聯(lián)成都網(wǎng)站建設按需策劃設計,是成都網(wǎng)站制作公司,為成都水泥攪拌車提供網(wǎng)站建設服務,有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設計服務:原型圖制作、網(wǎng)站創(chuàng)意設計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站營銷推廣熱線:18982081108

1.hex2bin函數(shù)可以將十六進制字符串轉換為二進制字符串,詳細用法如下:

hex2bin — 轉換十六進制字符串為二進制字符串

string?hex2bin(string?$data)

轉換十六進制字符串為二進制字符串。

參數(shù):

data:十六進制表示的數(shù)據(jù)

返回值:

返回給定數(shù)據(jù)的二進制表示 ?或者在失敗時返回 FALSE。

異常:

如果輸入的十六進制字符串是奇數(shù)長數(shù)或者無效的十六進制字符串將會拋出E_WARNING 級別的錯誤。

示例:

$hex?=?hex2bin("6578616d706c65206865782064617461");

echo?$hex;//example?hex?data(其中16進制代表的是ascii碼)

2.base_convert是真正意義上的進制轉換函數(shù)

base_convert — 在任意進制之間轉換數(shù)字

string?base_convert(?string?$number,?int?$frombase,?int?$tobase)

返回一字符串,包含 number以 tobase 進制的表示。number 本身的進制由frombase指定。frombase 和 tobase 都只能在2 和 36 之間(包括 2 和 36)。高于十進制的數(shù)字用字母 a-z 表示,例如a 表示 10,b 表示 11 以及 z 表示 35。

參數(shù):

number:要轉換的數(shù)字

frombase:原始進制

tobase:轉換后的進制

示例:

$hexadecimal?=?'A37334';

echo?base_convert($hexadecimal,?16,?2);//101000110111001100110100

php怎樣將二進制流存到文件中?

整形轉化成?2二進制?可以用??base_convert:

$str?=?0x8000;

echo?$str2?=?base_convert($str,?16,?2);

echo?'br';

echo?base_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?"\nbr轉化為二進制?...";

$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);

function?bin2bstr($input)

//?Convert?a?binary?expression?(e.g.,?"100111")?into?a?binary-string

{

if?(!is_string($input))?return?null;?//?Sanity?check

//?Pack?into?a?string

$input?=?str_split($input,?4);

$str?=?'';

foreach?($input?as?$v)

{

$str?.=?base_convert($v,?2,?16);

}

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

return?$str;

}

function?bstr2bin($input)

//?Binary?representation?of?a?binary-string

{

if?(!is_string($input))?return?null;?//?Sanity?check

//?Unpack?as?a?hexadecimal?string

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

//?Output?binary?representation

$value?=?str_split($value[1],?1);

$bin?=?'';

foreach?($value?as?$v)

{

$b?=?str_pad(base_convert($v,?16,?2),?4,?'0',?STR_PAD_LEFT);

$bin?.=?$b;

}

return?$bin;

}

php 怎么讀取一個文件,保存為16進制的數(shù)字。

把文件里面的每一個字節(jié)的ascii碼轉成16進制就可以了,如下:

$content?=?file_get_contents("myfile");

$hex?=?"";

for($i=0;$i=strlen($content);$i++){

$asc?=?ord(substr($content,$i,1));

$hex?.=?dechex($asc);

}

file_put_contents("mynewfile",$hex);

PHP 如何將數(shù)據(jù)庫中存儲的十六進制數(shù)轉換為漢字

//字符串轉換成16進制

function str2hex($str){

$hex = '';

for($i=0,$length=mb_strlen($str); $i$length; $i++){

$hex .= dechex(ord($str{$i}));

}

return $hex;

}

//16進制轉換成字符串

function hex2str($hex){

$str = '';

$arr = str_split($hex, 2);

foreach($arr as $bit){

$str .= chr(hexdec($bit));

}

return $str;

}

function test(){

//utf8字符測試

$str = '中文';

echo mb_strlen($str);

echo '';

$hex = str2hex($str);

echo $hex;

echo '';

$dec = hex2str($hex);

echo $dec;

echo "";

echo "hr";

//gbk測試

$gbkstr = mb_convert_encoding($str,'GBK','UTF-8');

echo mb_strlen($gbkstr);

echo '';

$hex = str2hex($gbkstr);

echo $hex;

echo '';

$dec = mb_convert_encoding(hex2str($hex), 'UTF-8', 'GBK');

echo $dec;

echo "";

}

網(wǎng)站名稱:php怎么保存hex數(shù)據(jù)的簡單介紹
分享URL:http://chinadenli.net/article4/dsipooe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設商城網(wǎng)站網(wǎng)站設計公司網(wǎng)站制作標簽優(yōu)化關鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化