在PHP中如何将字节数组转换成字符串?

前端之家收集整理的这篇文章主要介绍了在PHP中如何将字节数组转换成字符串?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个字节数组,我想映射到它们的ASCII等价物.

我该怎么做?

如果按字节数组表示:
$bytes = array(255,55,42,17,);

array_map()

那么就像:

$string = implode(array_map("chr",$bytes));

的foreach()

哪个是紧凑型的:

$string = "";
foreach ($bytes as $chr) {
    $string .= chr($chr);
}
// Might be a bit speedier due to not constructing a temporary array.

包()

但最好的替代方案可能是使用pack(“C *”,[$array …]),即使它需要一个简单的数组解决方法来传递整数列表:

$str = call_user_func_array("pack",array_merge(array("C*"),$bytes)));

如果您可能需要从字节C *(对于ASCII字符串)切换到字符S *(对于UCS2)或甚至具有32位整数L *(例如UCS4 Unicode字符串)的列表,那么该结构也将更有用.

猜你在找的PHP相关文章