"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo convertir cadenas a binario y viceversa en PHP?

¿Cómo convertir cadenas a binario y viceversa en PHP?

Publicado el 2024-11-08
Navegar:106

How to Convert Strings to Binary and Back in PHP?

Conversión de binarios y cadenas en PHP: una guía completa

Cuando se trabaja con datos en PHP, a menudo es necesario convertir entre diferentes formatos. Una conversión común es entre cadenas y binario. Ya sea para almacenar datos de forma segura u optimizar el rendimiento, comprender cómo convertir entre estos formatos es esencial.

Problema:

Cómo convertir una cadena a binario y luego convertirla nuevamente a una cadena en la biblioteca PHP estándar? Esta es una necesidad común de almacenamiento y manipulación segura de datos.

Solución:

A diferencia de algunos lenguajes de programación, PHP no tiene una función incorporada para convertir directamente una cadena a binario. Sin embargo, una combinación de las funciones pack() y base_convert() puede lograr esta funcionalidad.

Binario a cadena:

Para convertir una cadena binaria a su cadena original, podemos usar pack () y base_convert(). La función pack() toma una cadena de formato y una cadena de datos binarios y las combina para crear una cadena. En nuestro caso, la cadena de formato es 'H*', que indica una cadena hexadecimal. La función base_convert() convierte una cadena de una base a otra. En este caso, convertimos la cadena hexadecimal al juego de caracteres ASCII:

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

Cadena a binario:

Para convertir una cadena a binario, podemos usar unpack( ) y base_convert(). La función unpack() toma una cadena de formato y una cadena y extrae datos de la cadena según el formato especificado. En nuestro caso, especificamos el formato 'H*' para extraer datos hexadecimales. La función base_convert() convierte una cadena de una base a otra. Aquí, convertimos la cadena ASCII a una cadena hexadecimal, que representa la representación binaria:

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

Ejemplo:

Vamos a ponerlo todo junto con un ejemplo:

// 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";

Salida:

Binary: 0101001101110100011000010110001101101011
String: Stack

Al utilizar estas funciones, podemos convertir de manera efectiva entre cadenas y binarios en PHP. Este conocimiento es invaluable para el cifrado de datos, la manipulación de archivos y otras tareas diversas.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3