【问题标题】:PHP Unpack a single byte from a binary stringPHP 从二进制字符串中解压单个字节
【发布时间】:2016-07-22 20:00:38
【问题描述】:

我有一个原始的字节字符串 $b 来自

$b=sha1($k,true);

我需要知道 $b[$ix] 的值。我发现的唯一方法是

$arr=unpack('Cw',$b[$ix]);
$value=$arr["w"];

但是对于这样的基本操作来说,它似乎太多了。

有没有更直接的方法来访问原始字符串中的字节?

【问题讨论】:

  • 将其视为字节数组:$foo = 'abc123'; echo $foo[2] 输出c

标签: php rawstring


【解决方案1】:

ASCII 值:

$b=sha1($k,true);
echo ord($b[$ix]);

【讨论】:

  • 这也有效,$b=sha1($k);回声 $b[2 * $ix] * 16 + $b[2 * $ix + 1];
  • $arr=unpack('C',$b[$ix]); $value=$arr[1];
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多