3

考虑:

$tag = "4F";

$tag 是一个包含两个字符“4”和“F”的字符串。我希望能够将它们分别视为整个字节(4F)的上半字节和下半字节,以便我可以继续计算位模式(01001111)

由于这些在技术上是字符,因此可以将它们各自视为一个字节 - ASCII 表上的 4 是 0x52,F 是 0x70。

几乎所有允许操作字节的 PHP 内置函数(到目前为止我已经看到)都是后一种描述的变体:'4' 是 0x52,而不是字节的高半字节。

我不知道有什么快速或内置的方法可以让 PHP 以我想要的方式处理这个问题,但感觉它应该在那里。

如何将字符串“4F”转换为字节 4F,或将每个字符视为半字节对中的半字节。是否有任何内置函数可以让 PHP 将像“4F”或“3F0E”这样的字符串作为成对的半字节来处理?

谢谢。

4

1 回答 1

1

如果您想要“十六进制数字的十进制表示”,hexdec这是一种方法。

如果您想要“十六进制数字的位模式”,请使用base_convert. 文档甚至展示了这个动作的一个例子:

Example #1 base_convert() 例子

$hexadecimal = 'a37334';
echo base_convert($hexadecimal, 16, 2);

上面的示例将输出:

101000110111001100110100

于 2018-11-08T16:20:26.870 回答