【问题标题】:PHP get hex value (not the string representation, actually hex)PHP获取十六进制值(不是字符串表示,实际上是十六进制)
【发布时间】:2016-06-11 08:21:35
【问题描述】:

我有十六进制表示,我正在尝试将其转换为十六进制类型。例如,如果你执行:

echo "\xFF\xAA";
echo '<br>';
$first    = "FF";
$second   = "AA";
echo "\x$first\x$second";
die();

你得到的结果是:

所以第一行是奇怪的符号。这向我表明这实际上是十六进制类型。第二个结果虽然是十六进制的有效表示,但实际上并不是十六进制。

所以我的问题是如何将实际结果设为十六进制?我希望能够使用变量作为表示,但实际上将其转换为十六进制。 (我希望第二行显示为符号)

【问题讨论】:

  • 第一行是使用您的网站使用的编码(通常是 utf8 或 iso-8859-1)时字节的样子。第二行本质上只是字符串"\xFF\xAA",与十六进制编码关系不大。 “实际结果十六进制”是什么意思?您希望看到哪些符号?

标签: php string types hex


【解决方案1】:

hex2bin — 解码十六进制编码的二进制字符串

<?php
    $hex = hex2bin("6578616d706c65206865782064617461");
    echo $hex;
?>

输出:

十六进制数据示例

来源:http://php.net/manual/en/function.hex2bin.php

所以就用

echo hex2bin("$first$second");

【讨论】:

    猜你喜欢
    • 2011-04-14
    • 1970-01-01
    • 2018-01-22
    • 2014-12-20
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    相关资源
    最近更新 更多