我正在创建一个facebook bot,我想实现一个使用asciii表转换二进制字符串中的文本字符串的命令。 我正在使用这段代码,但实际上代码产生错误的二进制字符串是不正确的。 这是facebook bot代码的一部分,其中名为$ text的变量是用户发送给bot的消息
elseif(strpos($text, "binary") !== false)
{
$binario = unpack('H*', substr($text,8));
$response = substr($text,8) . " in binary is: " . base_convert($binario[1], 16, 2);
}
答案 0 :(得分:0)
您可以使用函数ord
:
$text = "binary hello";
if (strpos($text, "binary") !== false) {
$str = substr($text, 7);
$response = $str." in binary is: ";
for ($i = 0; $i < strlen($str); $i++) {
$response .= sprintf("%08d ", decbin( ord($str[$i]) ));
}
echo $response."\n"; //01101000 01100101 01101100 01101100 01101111
}