Binäärinen

empty 02.04.03 15:16

laskee textin pinääreixi

 Tekstiversio  Arvo: 3 (5 ääntä)  Äänestä: +  -
<?php

  function potenssiin($numero,$potenssiin) {
    if ($potenssiin != 0) {
      $tulos = $numero;
      for($i = 1; $i < $potenssiin; $i++) {
        $tulos = $tulos * $numero;
      }
      return $tulos;
    } else {
      return 1;
    }
  }

  function binaariksi($luku) {
    $act = "go";
    while($act == "go") {
      if ($luku >= 1) {
        if($luku % 2 == 0) {
          $binaari = "0".$binaari;
        } else {
          $binaari = "1".$binaari;
        }
        $luku = $luku / 2;
      } else {
        $act = "stop";
      }
    }
    return $binaari;
  }

  function binaarista($luku) {
    for($i = 0; $i < strlen($luku); $i++) {
      $num += (substr($luku,strlen($luku)-$i-1,1) == 0) ? 0 : potenssiin(substr($luku,strlen($luku)-$i-1,1)*2,$i);
    }
    return $num;
  }

  function suojaa($teksti) {
    for($i = 0; $i < 255; $i++) {
      $merkit[chr($i)] = "$i";
    }
    for($i = 0; $i < strlen($teksti); $i++) {
      $string .= binaariksi($merkit[substr($teksti,$i,1)])." ";
    }
    return $string;
  }

  function unsuojaa($binaarit) {
    for($i = 0; $i < 255; $i++) {
      $merkit[$i] = chr($i);
    }
    $binaarit = explode(" ",$binaarit);
    while(list($key,$val) = each($binaarit)) {
      $string .= $merkit[binaarista($val)];
    }
    return $string;
  }
  $tekstia = "Tähän tekstiä";

  echo suojaa($tekstia)."<hr>";
  echo unsuojaa (suojaa($tekstia));
   
   

?> 

ane 18:11 2.4.03 
Ihan kiva. Ihanaa, list(...) = each(...) :)
d0ggie 20:10 5.4.03 
number pow ( number base, number exp)
Returns base raised to the power of exp.

int bindec ( string binary_string)
Returns the decimal equivalent of the binary number represented by the binary_string argument.

string decbin ( int number)
Returns a string containing a binary representation of the given number argument.

Että silviisiin.