En PHP, vous pouvez rencontrer le besoin de convertir une chaîne en un tableau d'octets, en particulier lors de l'interface avec des systèmes attendant formats de données binaires.
Similaire à Java getBytes(), PHP propose la fonction unpack() pour accomplir cette tâche. Contrairement à getBytes(), qui renvoie un tableau d'octets représentant les points de code Unicode de la chaîne, unpack() vous permet de spécifier un format personnalisé pour extraire des données spécifiques.
Pour obtenir un tableau d'entiers représentant les valeurs d'octets d'une chaîne, utilisez le format unpack() suivant :
$byte_array = unpack('C*', $string);
La chaîne de format 'C*' indique que nous voulons décompresser une séquence de caractères non signés (dans les plages [0, 255]), représentant les valeurs en octets de la chaîne.
Prenons l'exemple chaîne : "Le renard rapide a sauté par-dessus le chien brun paresseux". En utilisant l'approche ci-dessus, nous pouvons obtenir le tableau d'octets correspondant :
$string = "The quick fox jumped over the lazy brown dog"; $byte_array = unpack('C*', $string); var_dump($byte_array);
Sortie :
array(44) { [1] => int(84) [2] => int(104) [3] => int(101) [4] => int(32) [5] => int(113) [6] => int(117) [7] => int(105) [8] => int(99) [9] => int(107) [10] => int(32) [11] => int(102) [12] => int(111) [13] => int(120) [14] => int(32) [15] => int(106) [16] => int(117) [17] => int(109) [18] => int(112) [19] => int(101) [20] => int(100) [21] => int(32) [22] => int(111) [23] => int(118) [24] => int(101) [25] => int(114) [26] => int(32) [27] => int(116) [28] => int(104) [29] => int(101) [30] => int(32) [31] => int(108) [32] => int(97) [33] => int(122) [34] => int(121) [35] => int(32) [36] => int(98) [37] => int(114) [38] => int(111) [39] => int(119) [40] => int(110) [41] => int(32) [42] => int(100) [43] => int(111) [44] => int(103) }
Comme vous pouvez le voir, le tableau de sortie contient les valeurs d'octets de chaque caractère dans le chaîne, indexée à partir de 1.
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!