Convertir Texto/Strings a Binario en PHP

¡Ayer tuve una gran idea! Comprar una esclava de plata y grabar mi nombre en ella, pero… ¡En binario! (Si lo se, siempre imponiendo la moda XD). En fin la idea me dio ganas de crear un pequeño conversor cuando me di cuenta que PHP no tiene una función para ello y decidí hacer la mía ^^

1. El Código
2. Ejemplo de Conversor Texto → Binario

1. El Código

Lo primero que hace la función es dividir la cadena cada 4 dígitos y pasarla a un array para convertir cada subcadena a binario (Str → Hex → Dec → Bin). Luego repone los ceros iniciales y finalmente concatena todas las subcadenas.

function str2bin($str){
	//dividir la cadena y pasarla a un array
	$str_arr = str_split($str, 4);
	
	for($i = 0; $i<count($str_arr); $i++)
		//convertir, corregir ceros y concatenar cada subcadena
		$bin = $bin.str_pad(decbin(hexdec(bin2hex($str_arr[$i]))), strlen($str_arr[$i])*8, "0", STR_PAD_LEFT);
	
	//retornar el resultado
	return $bin;
}

echo str2bin("Esclavas de plata y nombres en binario !");
?>

2. Ejemplo de Encriptador MD5

Como ahora ya tengo mi función str2bin() alfín puedo crear mi pequeño conversor =)

DEMO: ¿Quieres ver cómo quedaría?

<div align="center" style="width:600px;">

<?php
echo '<h1> Conversor Texto → Binario </h1><br/>';

//comprobar si se han enviado las variables
if(isset($_POST['string'])){
	
	//funcion texto -> binario
	function str2bin($str){
		$str_arr = str_split($str, 4);
		
		for($i = 0; $i<count($str_arr); $i++)
			$bin = $bin.str_pad(decbin(hexdec(bin2hex($str_arr[$i]))), strlen($str_arr[$i])*8, "0", STR_PAD_LEFT);
		
		return $bin;
	}
	
	//convertir a binario
	$binstring = str2bin($_POST['string']);

}

//imprimir el formulario con las variables original y convertida, inicialmente vacias
echo '<form method="post" action="index.php">
		<textarea rows="2" name="string" style="width:49%; height:40px; float:left;">'.$_POST['string'].'</textarea>
		<textarea rows="2" disabled="disabled" style="width:49%; height:40px; float:right;">'.$binstring.'</textarea>
		<br />
		<input type="submit" value="Convertir">
	  </form>';
?>

<a href="http://paul.pe/blog/2011/06/convertir-texto-strings-a-binario-en-php/" target="_blank">[ ver el código fuente ]</a>

</div>

2 Comments

Leave a Reply

Su dirección de correo no se hará público. Los campos requeridos están marcados *

No soy un robot *