把文件里面的每一个字节的ascii码转成16进制就可以了,如下:
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、网站建设、怀仁网络推广、成都小程序开发、怀仁网络营销、怀仁企业策划、怀仁品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供怀仁建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
$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);
echo ord(pack("H*", 'F'));
这个方法可以把hex转成bin数据直接写文件什么的都可以了
我不确定你要的答案是什么, 不过php中并不存在字符数组这个c的概念
至于bin转hex, 直接用bin2hex()即可, 不过由于php没有字符数组, 余下的如果不是你要的, 再转其它吧
php中字符本身就可以使用$var[x]的形式直接调用单个字符, 如果楼主想问的不是这些, 欢迎追问
十六进制转为二进制有两种理解方法,第一是十六进制字符串转二进制字符串,第二是十六进制数转二进制数,下面分别介绍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