无法将“二进制”字符串转换为“常规”字符串

时间:2018-05-19 00:41:27

标签: php string binary

我正在通过'file_get_contents'从文件中读取。在爆炸内容之后,当我转储它时,其中一个元素以这种方式呈现:

dd($myVariable);
  

b “的信贷银行”

我在网上看到这是某种'二进制'字符串,与从未存在的PHP版本6相关。但我找不到将其转换为“常规”字符串的方法。

我认为它们在某种程度上是等价的,但我甚至不能用它来比较另一个字符串。例如,这些都不会返回true:

if ($myVariable == "Crédito") 
if ($myVariable === "Crédito")
if ($myVariable == b"Crédito")
if ($myVariable == (binary)"Crédito")

如何将其转换为常规字符串?

1 个答案:

答案 0 :(得分:1)

您需要使用unpack函数(http://php.net/manual/en/function.unpack.php)将二进制数据解压缩为可读字符串

字符串示例:

$var = b"binary";
$unpacked = unpack("a*", $var); // "a*" stands for as much as NUL-padded strings as possible
var_dump($unpacked);