怎样在PHP中把16进制HEX数据转换为2进制数据呢?

 我来答
lyz810
推荐于2016-05-30 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31775
前端开发工程师

向TA提问 私信TA
展开全部

十六进制转为二进制有两种理解方法,第一是十六进制字符串转二进制字符串,第二是十六进制数转二进制数,下面分别介绍2种转换方法:

1.hex2bin函数可以将十六进制字符串转换为二进制字符串,详细用法如下:

hex2bin — 转换十六进制字符串为二进制字符串

string hex2bin(string $data)

转换十六进制字符串为二进制字符串。

参数:

data:十六进制表示的数据

返回值:

返回给定数据的二进制表示  或者在失败时返回 FALSE。 

异常:

如果输入的十六进制字符串是奇数长数或者无效的十六进制字符串将会抛出E_WARNING 级别的错误。 

示例:

$hex = hex2bin("6578616d706c65206865782064617461");
echo $hex;//example hex data(其中16进制代表的是ascii码)

2.base_convert是真正意义上的进制转换函数

base_convert — 在任意进制之间转换数字

string base_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';
echo base_convert($hexadecimal, 16, 2);//101000110111001100110100
13856077103
推荐于2017-11-26 · TA获得超过795个赞
知道小有建树答主
回答量:1043
采纳率:100%
帮助的人:587万
展开全部
(PHP >= 5.4.0)
hex2bin — 转换十六进制字符串为二进制字符串
更多追问追答
追问
5.3以下的呢?
追答
base_convert — 在任意进制之间转换数字
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式