您现在的位置是:群英 > 开发技术 > PHP语言
php数据转为16进制字符串方法,分几种情况?
Admin发表于 2022-12-24 11:04:301329 次浏览
这篇文章给大家分享的是“php数据转为16进制字符串方法,分几种情况?”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“php数据转为16进制字符串方法,分几种情况?”吧。

3种转换方法:1、使用dechex()函数,可以把十进制数转换为十六进制字符串,语法“dechex(指定数据值);”。2、使用base_convert()函数,可以将任意进制值转换为十六进制字符串,语法“base_convert(数据值,原进制,16);”。3、使用bin2hex()函数,可以把ASCII字符的字符串转换为十六进制字符串,语法“bin2hex(数据值)”。

本教程操作环境: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");
?>
登录后复制

说明:

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>";
?>
登录后复制

说明:

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);
?>
登录后复制

如果只是想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");
?>
登录后复制

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

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

bin2hex(string)
登录后复制

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

<?php
echo bin2hex("Hello!")."<br>";
echo bin2hex("123")."<br>";
echo bin2hex("10")."<br>";
?>

到此这篇关于“php数据转为16进制字符串方法,分几种情况?”的文章就介绍到这了,感谢各位的阅读,更多相关php数据转为16进制字符串方法,分几种情况?内容,欢迎关注群英网络资讯频道,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: 转字符串
相关信息推荐
2022-11-12 17:41:50 
摘要:我们知道每一个 Vue 应用都是从创建一个新的实例开始的,根据 Vue2 的官方文档我们可以得知 Vue 的设计是得到了 MVVM 模型 的启发,所以就有了在我们创建 Vue 实例时,文档中经常使用vm这个变量名来表示 Vue 实例。
2022-02-08 20:09:33 
摘要:这篇文章给大家分享的是利用Java如何求二进制字符串的和,对大家了解二进制字符串有一定的帮助。下文有具体示例供大家参考,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
2021-11-05 17:25:06 
摘要:这篇文章给大家分享的是PHP获取类私有属性的内容。下图是在网上看到PHP获取类私有属性的方式之一,那么大家觉得还有其他方式吗?感兴趣的朋友接下来一起跟随小编看看吧。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部