在PHP中,你可以将字符串或其他数据类型转换为二进制数据,并通过HTTP响应发送给前端。
<?php
//设置正确的Content-Type头部,以便前端可以正确处理二进制数据
header('Content-Type:application/octet-stream');
$str ="hello world!";
$binaryData=hex2bin(bin2hex($str));
echo $binaryData;
?>
在这个前端代码中,我们使用fetch API请求PHP脚本,并获取二进制数据。然后,我们将ArrayBuffer转换为字符串,以便在JavaScript中使用。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<title>测试后端输出二进制,前端接收二进制并转化为字符</title>
</head>
<body>
<script>
fetch('fetchArraybuffer.php',{
method:'get'
})
.then((response)=>{
if(response.ok && response.status===200)
{
return response.arrayBuffer();
}
throw new Error('返回数据出错');
})
.then((data)=>{
const decoder=new TextDecoder('utf-8');
const decodeStr=decoder.decode(data);
console.log(decodeStr);
})
.catch((error)=>{
console.log('连接后端出错',error);
});
</script>
</body>
</html>