本文目录一览:
- 1、怎么用php 里的bin2hex函数算出来的十六进制是“3130”之类的,比如二进制10怎么算出来就是3130?
- 2、怎样在PHP中把16进制HEX数据转换为2进制数据呢?
- 3、求将十进制数转为十六进制数的JS或PHP代码
- 4、在PHP中,字母a和字母A的二进制,八进制,十进制,十六进制的写法是什么?
- 5、php 怎么读取一个文件,保存为16进制的数字。
- 6、PHP里,16进制格式字符串,转换成具体值的方法
怎么用php 里的bin2hex函数算出来的十六进制是“3130”之类的,比如二进制10怎么算出来就是3130?
echo bin2hex("10");
输出3130,确实是这样的,因为"10"是两个字符,其ASCII代码分别是16进制的31和30。
手册上的内容如下:
bin2hex — 将二进制数据转换成十六进制表示
说明
string bin2hex ( string $str )
返回 ASCII 字符串,为参数 str 的十六进制表示。转换使用字节方式,高四位字节优先。
怎样在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
求将十进制数转为十六进制数的JS或PHP代码
JS十进制转其他进制代码如下var m = 10;document.write(m.toString(2) + "br"); // 显示为 1010 二进制document.write(m.toString(8) + "br"); // 显示为 12 8进制document.write(m.toString(10) + "br"); // 显示为 10 十进制document.write(m.toString(16) + "br"); // 显示为 a, 十六进制 php转换函数如下:bindec() — 二进制转换为十进制
decbin() — 十进制转换为二进制
dechex() — 十进制转换为十六进制
decoct() — 十进制转换为八进制
hexdec() — 十六进制转换为十进制
octdec() — 八进制转换为十进制
base_convert()– 在任意进制之间转换数字使用说明如下: 一,十进制(decimal system)转换函数说明
1,十进制转二进制 decbin() 函数,如下实例echo decbin(12); //输出 1100
echo decbin(26); //输出 11010
decbin
(PHP 3, PHP 4, PHP 5)
decbin -- 十进制转换为二进制
说明
string decbin ( int number )
返回一字符串,包含有给定 number 参数的二进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 32 个 1 的字符串。2,十进制转八进制 decoct() 函数echo decoct(15); //输出 17
echo decoct(264); //输出 410
decoct
(PHP 3, PHP 4, PHP 5)
decoct -- 十进制转换为八进制
说明
string decoct ( int number )
返回一字符串,包含有给定 number 参数的八进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 "37777777777"。3,十进制转十六进制 dechex() 函数echo dechex(10); //输出 a
echo dechex(47); //输出 2f
dechex
(PHP 3, PHP 4, PHP 5)
dechex -- 十进制转换为十六进制
说明
string dechex ( int number )
返回一字符串,包含有给定 number 参数的十六进制表示。所能转换的最大数值为十进制的 4294967295,其结果为 "ffffffff"。二,二进制(binary system)转换函数说明
1,二进制转十六制进 bin2hex() 函数$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;//输出f9
bin2hex
(PHP 3 = 3.0.9, PHP 4, PHP 5)
bin2hex -- 将二进制数据转换成十六进制表示
说明
string bin2hex ( string str )
返回 ASCII 字符串,为参数 str 的十六进制表示。转换使用字节方式,高四位字节优先。2,二进制转十制进 bindec() 函数echo bindec(\\\'110011\\\'); //输出 51
echo bindec(\\\'000110011\\\'); //输出 51
echo bindec(\\\'111\\\'); //输出 7
bindec
(PHP 3, PHP 4, PHP 5)
bindec -- 二进制转换为十进制
说明
number bindec ( string binary_string )
返回 binary_string 参数所表示的二进制数的十进制等价值。
bindec() 将一个二进制数转换成 integer。可转换的最大的数为 31 位 1 或者说十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数值,这种情况下,它会返回 float 类型。三,八进制(octal system)转换函数说明
八进制转十进制 octdec() 函数echo octdec(\\\'77\\\'); //输出 63
echo octdec(decoct(45)); //输出 45
octdec
(PHP 3, PHP 4, PHP 5)
octdec -- 八进制转换为十进制
说明
number octdec ( string octal_string )
返回 octal_string 参数所表示的八进制数的十进制等值。可转换的最大的数值为 17777777777 或十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。四,十六进制(hexadecimal)转换函数说明
十六进制转十进制 hexdec()函数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)"
hexdec
(PHP 3, PHP 4, PHP 5)
hexdec -- 十六进制转换为十进制
说明
number hexdec ( string hex_string )
返回与 hex_string 参数所表示的十六进制数等值的的十进制数。hexdec() 将一个十六进制字符串转换为十进制数。所能转换的最大数值为 7fffffff,即十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。
hexdec() 将遇到的所有非十六进制字符替换成 0。这样,所有左边的零都被忽略,但右边的零会计入值中。五,任意进制转换 base_convert() 函数$hexadecimal = \\\'A37334\\\';
echo base_convert($hexadecimal, 16, 2);//输出 101000110111001100110100
base_convert
(PHP 3 = 3.0.6, PHP 4, PHP 5)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。
在PHP中,字母a和字母A的二进制,八进制,十进制,十六进制的写法是什么?
字母"a":
二进制:1100001
八进制:141
十进制:97
十六进制:61
你可以通过以下代码来查看:
?php
$num = ord('a');
//二进制
echo decbin($num),',';
//八进制
echo decoct($num),',';
//十进制
echo $num,',';
//十六进制
echo dechex($num),',';
php 怎么读取一个文件,保存为16进制的数字。
把文件里面的每一个字节的ascii码转成16进制就可以了,如下:
$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);
PHP里,16进制格式字符串,转换成具体值的方法
还有 hexdec 这个函数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)"
?