Hola a todos, bueno estoy programando un convertidor para mi web, texto a su md5, base64 etc..
dentro de lo que quiero hacer es transformar texto a binario y binario a texto, pero no he encontrado nada de info de como hacerlo ya que no hay funciones en php que lo hagan. solo encontre esta web http://www.nickciske.com/tools/binary.php (http://www.nickciske.com/tools/binary.php), quiero hacer algo parecido a eso alguien me puede orientar como funciona esta transformacion o si tienes alguna funcion en php que realize ese trabajo. Saludos
Acabo de encontrar esto pero al probarlo carga, carga y carga y nunca se muestra el resultado sera que hay un loop infinito por ahi? :S
CitarBinary to Text
<?
function bin2text($bin_str)
{
$text_str = '';
$chars = explode("\n", chunk_split(str_replace("\n", '', $bin_str), 8));
$_I = count($chars);
for($i = 0; $i < $_I; $text_str .= chr(bindec($chars[$i])), $i );
return $text_str;
}
function text2bin($txt_str)
{
$len = strlen($txt_str);
$bin = '';
for($i = 0; $i < $len; $i )
{
$bin .= strlen(decbin(ord($txt_str[$i]))) < 8 ? str_pad(decbin(ord($txt_str[$i])), 8, 0, STR_PAD_LEFT) : decbin(ord($txt_str[$i]));
}
return $bin;
}
print text2bin('How are you gentlements?');
?>
http://www.php.happycodings.com/Algorithms/code8.html (http://www.php.happycodings.com/Algorithms/code8.html)
:D, yo también necesito algo así. Lo haré en PHP con POO, -para practicar-
sabes como es la conversion ?
Un pequeño avance apenas empece. De decimal a binario. Quiero que sea más gráfico en la presentación de resultados.
function sBinario( $pNum ){
$sReturn = "";
while( $pNum > 0 ){
$aNum = $pNum;
$aNum = floor( $pNum/2 );
if( ($pNum%2) == 0 ){ $sReturn .= 0; }else{ $sReturn .= 1; }
$pNum = $aNum;
}
return strrev($sReturn);
}
print sBinario(805)."\n";
Hola,
@Sinedra, el codigo que has puesto mas arriba tiene 2 pequeños fallos y por eso entrabas en un loop infinito.
al final de cada for la variable $i no esta acompañada del ++ necesario.
el codigo funcional lo tienes aquí:
<?php
function bin2text($bin_str)
{
$text_str = '';
$chars = explode("\n", chunk_split(str_replace("\n", '', $bin_str), 8));
$_I = count($chars);
for($i = 0; $i < $_I; $text_str .= chr(bindec($chars[$i])), $i++ );
return $text_str;
}
function text2bin($txt_str)
{
$len = strlen($txt_str);
$bin = '';
for($i = 0; $i < $len; $i++ )
{
$bin .= strlen(decbin(ord($txt_str[$i]))) < 8 ? str_pad(decbin(ord($txt_str[$i])), 8, 0, STR_PAD_LEFT) : decbin(ord($txt_str[$i]));
}
return $bin;
}
print text2bin('How are you gentlements?');
print '<br />';
print bin2text(text2bin('How are you gentlements?'));
?>
Saludos
te pasaste, muchas gracias