You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中与.toString('binary')功能等价的实现方法是什么?

PHP 中等同于 JavaScript .toString('binary') 的实现方案

JavaScript 中 Buffer 调用 .toString('binary') 的本质是将缓冲区中的每个字节按原始值转换为字符拼接成字符串,PHP 本身字符串是二进制安全的,对应实现可以参考以下方案:

  • 如果你是获取 PHP 输出缓冲区的内容,直接通过 ob_get_contents() 拿到的原始字符串就和 .toString('binary') 输出结果完全一致,无需额外转换,示例代码:
ob_start();
// 此处为写入缓冲区的业务逻辑
echo "测试内容\x00\x01\x02";

$binaryResult = ob_get_contents();
ob_end_clean();

// $binaryResult 即为等价的二进制格式字符串
  • 如果你是处理其他二进制数据源(如文件读取、pack 生成的二进制流),可以通过以下自定义函数实现完全对齐的转换逻辑:
function bufferToBinary($buffer): string
{
    $binaryStr = '';
    $bufferLen = strlen($buffer);
    for ($i = 0; $i < $bufferLen; $i++) {
        $binaryStr .= chr(ord($buffer[$i]));
    }
    return $binaryStr;
}

注意:PHP 7.0 及以上版本对二进制字符串的支持已经非常成熟,无特殊编码转换需求时,原生读取的二进制内容可以直接使用,不需要额外调用转换函数。

内容的提问来源于stack exchange,提问作者Théo Dulieu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 05:45:01