"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como converter strings em binário e vice-versa em PHP?

Como converter strings em binário e vice-versa em PHP?

Publicado em 2024-11-08
Navegar:229

How to Convert Strings to Binary and Back in PHP?

Convertendo binários e strings em PHP: um guia abrangente

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.

Problema:

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.

Solução:

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.

Binário para String:

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

String para binário:

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

Exemplo:

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.

Tutorial mais recente Mais>

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