php 无法将“binary”字符串转换为“regular”字符串

um6iljoc  于 2023-01-16  发布在  PHP
关注(0)|答案(3)|浏览(130)

我正在通过'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")

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

jgovgodb

jgovgodb1#

您需要使用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);
gjmwrych

gjmwrych2#

对我来说,utf8_encode帮助了我。希望它也能帮助其他人

utf8_encode($string)
46qrfjad

46qrfjad3#

mb_convert_encoding($text, 'UTF-8')

相关问题