PHP进制相互转换学习

前言

不管是SQL注入,还是CTF的web题,都有涉及16进制转换,所以特此学习以下

<?php
// 1. 十进制转二进制 decbin()函数
echo "12->十进制转二进制为: ".decbin(12); //输出:1100
echo '<hr>';
// string decbin(int number)返回一字符串,包含有给定 number 参数的二进制表示。所能转换的最大数值为十进制的 

// 2. 十进制转八进制decoct()函数
echo "15->十进制转八进制: ".decoct(15); // 输出: 17
echo '<hr>';
//string decoct ( int number ) 返回一字符串,包含有给定 number 参数的八进制表示

// 3. 十进制转十六进制 dechex() 函数
echo "10->十进制转16进制: ".dechex(10);
echo '<hr>';
// string dechex ( int number ) 返回一字符串,包含有给定 number 参数的十六进制表示


// 1. 二进制转十六进制 bin2hex() 函数
echo "1100->二进制转十六进制为: ".bin2hex('1100');
echo '<hr>';

// 2. 二进制转十进制 bindec()函数
echo "1100->二进制转十六进制为: ".bindec('1100');
echo '<hr>';

// 3. 八进制转十进制 octdec()函数
echo "17->八进制转十进制: ".octdec('17');
echo '<hr>';

// 4. 十六进制转十进制 hexdec()
echo "aaa->十六进制转十进制: ".hexdec('aaa');
echo "<hr>";

// 终极武器.任意进制转换 base_convert(),在此举两个例子
echo "520->十进制转十六进制: ".base_convert('520', 10, 16); // 十进制转16进制
echo "<hr>";
echo "aaa->十六进制转十进制: ".base_convert('aaa', 16, 10);

?>

image-20191108082153536

输出:
12->十进制转二进制为: 1100
15->十进制转八进制: 17
10->十进制转16进制: a
1100->二进制转十六进制为: 31313030
1100->二进制转十六进制为: 12
17->八进制转十进制: 15
aaa->十六进制转十进制: 2730
520->十进制转十六进制: 208
aaa->十六进制转十进制: 2730

image-20191108082117989

总结

base_convert() 会用它就完事了

本文链接:

https://www.betao.cn/archives/phphex.html
1 + 7 =
快来做第一个评论的人吧~