php18位数据进制转换 php字符串转16进制

关于PHP进制转换的代码,求大神帮忙编写一下。 2 8 16 可以实现这三个进制之间转换的代码。

PHP内置进制转换函数:base_convert ,其详细调用如下:

创新互联建站长期为千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为上城企业提供专业的网站设计制作、网站建设上城网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

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。

示例:

十六进制转换成为二进制:

?php

$hexadecimal = 'A37334';

echo base_convert($hexadecimal, 16, 2);

?

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

十六进制转为二进制有两种理解方法,第一是十六进制字符串转二进制字符串,第二是十六进制数转二进制数,下面分别介绍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

PHP 进制转换问题

echo base_convert(10010011001101011010101001000000,2,10)."\r\n";//输出 18843

你把 10010011001101011010101001000000 换成 字符串形式的就对了

"10010011001101011010101001000000"

PHP 循环文本变量组合出错 十进制转十六进制

return $jg;

返回的$jg值是$jg=$sixteen[$yushu].$jg;

而$jg是在数组中获取$sixteen[$yushu]的值

其实应该是$sixteen[$yushu-1]的值

所以返回只有一位 要修复一下

除了余数还得判断得数和16的进位问题

php 进制转换问题

strtr(),这个函数,替换,将0替换成\x0,就ok了,再加一个if(){}判断,记得用==,true接下干啥,false输出error()。


当前标题:php18位数据进制转换 php字符串转16进制
浏览路径:http://ybzwz.com/article/dodjjhj.html