En PHP, un tableau d'octets peut être converti en chaîne à l'aide de la fonction pack(), ou il peut être converti en une chaîne concaténée avec un délimiteur spécifié à l'aide de la fonction implode().
Le format d'utilisation de la fonction pack() est le suivant :
$byteArray = array(0x68, 0x65, 0x6c, 0x6c, 0x6f); $str = pack('C*', ...$byteArray); echo $str; //输出:hello
Dans le code ci-dessus, $byteArray est un tableau contenant des valeurs d'octets. En appelant la fonction pack() et en passant la chaîne de format 'C*', $byteArray est converti. est une chaîne. 'C' signifie regrouper par octets non signés (c'est-à-dire un entier non signé de 8 bits), '*' signifie regrouper tous les éléments. En utilisant ...$byteArray, transmettez les éléments de $byteArray comme arguments de fonction. La fonction
implode() peut être utilisée comme ceci :
$byteArray = array(0x68, 0x65, 0x6c, 0x6c, 0x6f); $str = implode('', array_map('chr', $byteArray)); echo $str; //输出:hello
Dans cet exemple, la fonction array_map() est appliquée à chaque élément de $byteArray et la fonction chr() est utilisée pour convertir chaque octet en caractère ASCII correspondant. . Concaténez ensuite chaque caractère dans une chaîne, en utilisant la chaîne vide comme délimiteur.
De plus, dans PHP 7.2.0 et supérieur, vous pouvez utiliser la fonction hex2bin() pour convertir des chaînes hexadécimales en données binaires.
$str = '68656c6c6f'; $byteArray = hex2bin($str); echo $byteArray; //输出:hello
En bref, il existe de nombreuses façons de convertir des tableaux d'octets en chaînes en PHP. Vous pouvez choisir la méthode qui vous convient.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!