php解析十六進(jìn)制數(shù)據(jù) php 16進(jìn)制轉(zhuǎn)2進(jìn)制

PHP 十六進(jìn)制解密

?php

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了阿壩州免費(fèi)建站歡迎大家使用!

$str?=?‘百度abc’;

$en?=?javaEn($str);

echo?$en;

echo?“br”;

echo?javaDe($en);

function?javaEn($str)?{

$output?=?”;

$str?=?iconv(‘GBK’,?‘UTF-16BE’,?$str);???

for($i?=?0;?$i??strlen($str);?$i+=2)?{???

$code?=?ord($str{$i})?*?256?+?ord($str{$i?+?1});?

$output?.=?‘%u’.str_pad(dechex($code),?4,?’0′,?STR_PAD_LEFT);

}

return?$output;???

}

function?javaDe($str)?{

preg_match_all(‘/%u0*([1-9a-e][0-9a-z]*)/’,?$str,?$arr);

$return?=?”;

foreach($arr[1]?as?$v)?{

if(strlen($v)??2)?{

$s?=?chr(hexdec(substr($v,?0,?2))).chr(hexdec(substr($v,?2)));

$return?.=?iconv(‘UTF-16BE’,?‘GBK’,?$s);

}?else?{

$return?.=?chr(hexdec($v));

}

}

return?$return;

}

?

php(workerman)如何讀取十六進(jìn)制數(shù)據(jù),所見即所得的?

換不同版本的瀏覽器。。一邊用 IE 一邊用火狐之類的。。另外,如果你用 SESSION 制作的身份驗(yàn)證。IE 都可以雙開。。不過要分別從桌面IE圖標(biāo)點(diǎn)進(jìn)。不能用新建標(biāo)簽頁。新建標(biāo)簽頁算是同一瀏覽器會話。

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

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

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

hex2bin — 轉(zhuǎn)換十六進(jìn)制字符串為二進(jìn)制字符串

string?hex2bin(string?$data)

轉(zhuǎn)換十六進(jìn)制字符串為二進(jìn)制字符串。

參數(shù):

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

返回值:

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

異常:

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

示例:

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

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

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

base_convert — 在任意進(jìn)制之間轉(zhuǎn)換數(shù)字

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

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

參數(shù):

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

frombase:原始進(jìn)制

tobase:轉(zhuǎn)換后的進(jìn)制

示例:

$hexadecimal?=?'A37334';

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

PHP里,16進(jìn)制格式字符串,轉(zhuǎn)換成具體值的方法

還有 hexdec 這個函數(shù)number hexdec ( string $hex_string )

Example #1 hexdec() 例子

?php

var_dump(hexdec("See"));

var_dump(hexdec("ee"));

// both print "int(238)"

var_dump(hexdec("that")); // print "int(10)"

var_dump(hexdec("a0")); // print "int(160)"

?

當(dāng)前標(biāo)題:php解析十六進(jìn)制數(shù)據(jù) php 16進(jìn)制轉(zhuǎn)2進(jìn)制
網(wǎng)址分享:http://muchs.cn/article14/ddcoege.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站建設(shè)、建站公司用戶體驗(yàn)、軟件開發(fā)、移動網(wǎng)站建設(shè)

廣告

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

商城網(wǎng)站建設(shè)