我是靠谱客的博主 魁梧皮带,最近开发中收集的这篇文章主要介绍php怎么将数据转为16进制字符串,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

在php中,将数据转为16进制字符串分两种情况:

  • 将其他进制的数据转为16进制字符串

  • 将ASCII 字符的字符串转为16进制字符串

不同情况,使用的函数不同。

情况1:将其他进制的数据转为16进制字符串

PHP提供两种函数来进行转换:

  • dechex()函数

  • base_convert()函数

1、dechex()函数转换

dechex() 函数把十进制数转换为十六进制数。

dechex(number);
登录后复制

返回值:一个字符串,包含十进制值的十六进制数。

示例:

<?php
echo dechex("30") . "<br>";
echo dechex("10") . "<br>";
echo dechex("1587") . "<br>";
echo dechex("70");
?>
登录后复制

1.png

说明:

hexdec() 将一个十六进制字符串转换为十进制数。所能转换的最大数值为 7fffffff,即十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。

hexdec() 将遇到的所有非十六进制字符替换成 0。这样,所有左边的零都被忽略,但右边的零会计入值中。

2、base_convert()函数转换

base_convert() 函数在任意进制之间转换数字。

base_convert(number,frombase,tobase);
登录后复制
参数描述
number必需。规定要转换的数。
frombase必需。规定数字原来的进制。介于 2 和 36 之间(包括 2 和 36)。高于十进制的数字用字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。
tobase必需。规定要转换的进制。介于 2 和 36 之间(包括 2 和 36)。高于十进制的数字用字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。

当参数 tobase 的值为16时,可将其他进制数转为16进制数。

示例:

<?php
echo base_convert("30", 10, 16) . "<br>";
echo base_convert("364", 8, 16) . "<br>";
?>
登录后复制

2.png

说明:

base_convert()函数也可以实现16进制转其他进制,此时参数frombase的值需要固定值16。

例16转10:

<?php
echo base_convert("1e", 16, 10) . "<br>";
echo base_convert("a", 16, 10) . "<br>";
echo base_convert("11ff", 16, 10) . "<br>";
echo base_convert("cceeff", 16, 10);
?>
登录后复制

3.png

如果只是想16进制转10进制,还有一个更方便的函数hexdec()

hexdec() 将一个十六进制字符串转换为十进制数。所能转换的最大数值为 7fffffff,即十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。

hexdec() 将遇到的所有非十六进制字符替换成 0。这样,所有左边的零都被忽略,但右边的零会计入值中。

<?php
echo hexdec("1e") . "<br>";
echo hexdec("a") . "<br>";
echo hexdec("11ff") . "<br>";
echo hexdec("cceeff");
?>
登录后复制

4.png

情况2:将ASCII 字符的字符串转为16进制字符串

bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。

bin2hex(string)
登录后复制

返回值:返回要转换字符串的十六进制值。

<?php
echo bin2hex("Hello!")."<br>";
echo bin2hex("123")."<br>";
echo bin2hex("10")."<br>";
?>
登录后复制

5.png

推荐学习:《PHP视频教程》

以上就是php怎么将数据转为16进制字符串的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是魁梧皮带为你收集整理的php怎么将数据转为16进制字符串的全部内容,希望文章能够帮你解决php怎么将数据转为16进制字符串所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(85)

评论列表共有 0 条评论

立即
投稿
返回
顶部