"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment convertir des chaînes en binaire et inversement en PHP ?

Comment convertir des chaînes en binaire et inversement en PHP ?

Publié le 2024-11-08
Parcourir:200

How to Convert Strings to Binary and Back in PHP?

Conversion de fichiers binaires et de chaînes en PHP : un guide complet

Lorsque vous travaillez avec des données en PHP, il est souvent nécessaire d'effectuer une conversion entre différents formats. Une conversion courante se fait entre les chaînes et le binaire. Qu'il s'agisse de stocker des données en toute sécurité ou d'optimiser les performances, il est essentiel de comprendre comment effectuer une conversion entre ces formats.

Problème :

Comment convertir une chaîne en binaire, puis la reconvertir en chaîne dans la bibliothèque PHP standard ? Il s'agit d'un besoin courant de stockage et de manipulation sécurisés des données.

Solution :

Contrairement à certains langages de programmation, PHP n'a pas de fonction intégrée pour convertir directement une chaîne en binaire. Cependant, une combinaison des fonctions pack() et base_convert() peut obtenir cette fonctionnalité.

Binaire en chaîne :

Pour reconvertir une chaîne binaire en sa chaîne d'origine, nous pouvons utiliser pack () et base_convert(). La fonction pack() prend une chaîne de format et une chaîne de données binaires et les combine pour créer une chaîne. Dans notre cas, la chaîne de format est 'H*', ce qui indique une chaîne hexadécimale. La fonction base_convert() convertit une chaîne d'une base à une autre. Dans ce cas, nous convertissons la chaîne hexadécimale en jeu de caractères ASCII :

// Convert binary into a string
$string = pack('H*', base_convert('0101001101110100011000010110001101101011', 2, 16));

String to Binary :

Pour convertir une chaîne en binaire, nous pouvons utiliser unpack( ) et base_convert(). La fonction unpack() prend une chaîne de format et une chaîne et extrait les données de la chaîne selon le format spécifié. Dans notre cas, nous précisons le format 'H*' pour extraire les données hexadécimales. La fonction base_convert() convertit une chaîne d'une base à une autre. Ici, nous convertissons la chaîne ASCII en chaîne hexadécimale, qui représente la représentation binaire :

// Convert a string into binary
$binary = unpack('H*', 'Stack');
echo base_convert($binary[1], 16, 2);

Exemple :

Rassemblons tout cela avec un exemple :

// Convert "Stack" to binary
$binary = unpack('H*', 'Stack');
$binaryString = base_convert($binary[1], 16, 2);
echo "Binary: $binaryString\n";

// Convert binary back to "Stack"
$asciiString = pack('H*', base_convert($binaryString, 2, 16));
echo "String: $asciiString\n";

Sortie :

Binary: 0101001101110100011000010110001101101011
String: Stack

En utilisant ces fonctions, nous pouvons convertir efficacement entre les chaînes et les binaires en PHP. Ces connaissances sont inestimables pour le cryptage des données, la manipulation de fichiers et diverses autres tâches.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3