Maison > développement back-end > Problème PHP > Comment convertir des caractères php en tableau d'octets

Comment convertir des caractères php en tableau d'octets

PHPz
Libérer: 2023-04-25 14:10:05
original
843 Les gens l'ont consulté

En programmation PHP, nous avons souvent besoin de convertir des chaînes en tableaux d'octets. Dans cet article, nous présenterons comment convertir des caractères en tableau d'octets en PHP.

1. Utilisez la fonction str_split()

La fonction intégrée PHP str_split() peut diviser une chaîne en un tableau de caractères. Cette fonction transmet une chaîne comme premier paramètre et le deuxième paramètre spécifie la longueur de chaque groupe. Si le deuxième paramètre n'est pas spécifié, la longueur par défaut est 1. Voici un exemple de conversion d'une chaîne en tableau d'octets :

$str = "Hello World";
$bytes = str_split($str);
print_r($bytes);
Copier après la connexion

Le résultat est le suivant :

Array (
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => W
    [7] => o
    [8] => r
    [9] => l
    [10] => d
)
Copier après la connexion

Nous pouvons voir que la fonction str_split() a réussi à convertir la chaîne en un tableau d'octets.

2. Utilisez la fonction unpack()

La fonction intégrée PHP unpack() peut diviser la chaîne binaire en différentes variables. Nous pouvons utiliser cette fonction pour convertir une chaîne en un tableau d'octets. Voici un exemple :

$str = "Hello World";
$bytes = unpack('C*', $str);
print_r($bytes);
Copier après la connexion

Le résultat est le suivant :

Array(
    [1] => 72
    [2] => 101
    [3] => 108
    [4] => 108
    [5] => 111
    [6] => 32
    [7] => 87
    [8] => 111
    [9] => 114
    [10] => 108
    [11] => 100
)
Copier après la connexion

Nous pouvons voir que la fonction unpack() a réussi à convertir la chaîne en un tableau d'octets.

3. Utilisez la fonction mb_str_split()

Si la chaîne que nous traitons contient des caractères multi-octets, nous pouvons utiliser la fonction mb_str_split() pour convertir la chaîne en un tableau d'octets. Voici un exemple :

$str = "你好世界";
$bytes = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY);
foreach($bytes as &$byte) {
    $byte = bin2hex(mb_convert_encoding($byte, 'UCS-2BE'));
}
print_r($bytes);
Copier après la connexion

Le résultat est le suivant :

Array (
    [0] => 4f60
    [1] => 597d
    [2] => 4e16
    [3] => 754c
)
Copier après la connexion

Nous pouvons voir que la fonction mb_str_split() a réussi à convertir une chaîne contenant des caractères multi-octets en un tableau d'octets.

Ci-dessus sont trois méthodes de conversion de caractères en tableaux d'octets en PHP. Nous pouvons choisir différentes méthodes pour implémenter cette fonction en fonction de nos besoins.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal