我看到过,b在某些东西前面表示二进制。
我从MS DB接收到一个文本字段,列类型为CLOB。
我正在使用Laravel,当我使用die dump (dd()
)时,我看到:
b"""
My big text
"""
如果我创建一个简单的字符串并使用dd()函数打印它,我会看到:
"My big text"
问题在于
json_encode()
在这个二进制字符串上返回false,但简单字符串没有问题。请问如何将其转换为简单字符串?
附注:我已经尝试过
unpack()
,但不成功。编辑:实际上,
json_encode()
与此二进制字符串无关。它失败是因为存在非utf8符号。我看到的是...(22:45 – 0:15 CEST)...,但当我使用utf8_decode($text)
时,我看到的是...(22:45 ? 0:15 CEST)...,如果现在尝试json_encode()
,它会完美地工作。
b""
字符串,但是没有明确的答案说明它是什么。事实上,PHP并没有两种类型的字符串。它只有一种字符串类型,而且它总是“二进制”的。b
可能只是dd
出于某种原因添加的东西。对于相同的值,var_dump
会给出什么结果? - undefinedb
不是字符串本身的一部分,它只是调试输出。 - undefined