Maison  >  Article  >  développement back-end  >  Comment convertir des chaînes en binaire et inversement en PHP ?

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

DDD
DDDoriginal
2024-11-04 03:52:30630parcourir

How to Convert Strings to Binary and Back in PHP?

Conversion de 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 convertir 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 :

<code class="php">// Convert binary into a string
$string = pack('H*', base_convert('0101001101110100011000010110001101101011', 2, 16));</code>

Chaîne en binaire :

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 :

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

Exemple :

Rassemblons le tout avec un exemple :

<code class="php">// 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";</code>

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.

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!

Déclaration:
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