Ao trabalhar com dados em PHP, muitas vezes é necessário converter entre diferentes formatos. Uma conversão comum é entre strings e binário. Seja para armazenar dados com segurança ou otimizar o desempenho, entender como converter entre esses formatos é essencial.
Como converter uma string em binário e, em seguida, convertê-la novamente em uma string na biblioteca PHP padrão? Esta é uma necessidade comum de armazenamento e manipulação segura de dados.
Ao contrário de algumas linguagens de programação, o PHP não possui uma função integrada para converter diretamente uma string em binário. No entanto, uma combinação das funções pack() e base_convert() pode alcançar essa funcionalidade.
Para converter uma string binária de volta à sua string original, podemos usar pack () e base_convert(). A função pack() pega uma string de formato e uma string de dados binários e os combina para criar uma string. No nosso caso, a string de formato é 'H*', que indica uma string hexadecimal. A função base_convert() converte uma string de uma base para outra. Neste caso, convertemos a string hexadecimal para o conjunto de caracteres ASCII:
// Convert binary into a string
$string = pack('H*', base_convert('0101001101110100011000010110001101101011', 2, 16));
Para converter uma string em binário, podemos usar unpack( ) e base_convert(). A função unpack() pega uma string de formato e uma string e extrai dados da string de acordo com o formato especificado. No nosso caso, especificamos o formato 'H*' para extrair dados hexadecimais. A função base_convert() converte uma string de uma base para outra. Aqui, convertemos a string ASCII em uma string hexadecimal, que representa a representação binária:
// Convert a string into binary
$binary = unpack('H*', 'Stack');
echo base_convert($binary[1], 16, 2);
Vamos juntar tudo com um exemplo:
// 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";
Saída:
Binary: 0101001101110100011000010110001101101011 String: Stack
Ao utilizar essas funções, podemos converter efetivamente entre strings e binários em PHP. Esse conhecimento é inestimável para criptografia de dados, manipulação de arquivos e várias outras tarefas.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3