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.
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.
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.
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));
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);
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.
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