十六進(jìn)制轉(zhuǎn)為二進(jìn)制有兩種理解方法,第一是十六進(jìn)制字符串轉(zhuǎn)二進(jìn)制字符串,第二是十六進(jìn)制數(shù)轉(zhuǎn)二進(jìn)制數(shù),下面分別介紹2種轉(zhuǎn)換方法:
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的虎林網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
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)制表示 ?或者在失敗時(shí)返回 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
二進(jìn)制字符串是
字節(jié)字符串。非二進(jìn)制字符串是字符字符串
這個(gè)體現(xiàn)在
mysql數(shù)據(jù)庫
中為:
BINARY和VARBINARY類類似于CHAR和VARCHAR,不同的是它們包含二進(jìn)制字符串而不要非二進(jìn)制字符串。也就是說,它們包含字節(jié)字符串而不是字符字符串。這說明它們沒有
字符集
,并且排序和比較基于列值字節(jié)的數(shù)值值。
BLOB
列被視為二進(jìn)制字符串(字節(jié)字符串)。TEXT列被視為非二進(jìn)制字符串(字符字符串)。
字母"a":
二進(jìn)制:1100001
八進(jìn)制:141
十進(jìn)制:97
十六進(jìn)制:61
你可以通過以下代碼來查看:
?php
$num?=?ord('a');
//二進(jìn)制
echo?decbin($num),',';
//八進(jìn)制
echo?decoct($num),',';
//十進(jìn)制
echo?$num,',';
//十六進(jìn)制
echo?dechex($num),',';
?php
$a="123456789.exe";
if(strstr($a,"exe"))
{
echo "exe\n";
}
elseif(strstr($a,"123"))
{
echo "一二三\n";
}
else
{
echo "全無";
}
?