| Autor | Zpráva | ||
|---|---|---|---|
| peta Profil |
Potreboval bych provest jakesi bitove operace se sourobem a ulozit to. Ale nevim, jak pracovat s konkretnimi bity. Ve funkci yyTo jsem myslel, ze mi to zpracuje bit po bitu, jenze vysledkem jsou cisla a ne binarni data. Umel by jste nekdo poradit?
<?php
function yyTo(&$data1,&$data2,&$bit)
{
$data2 = array();
for ($i=0;$i<strlen($data1);$i++)
{
$x = $data1[$i];
$data2[$i] = "\x0";
for ($j=7;$j>=0;$j--)
{
$bit = $bit ^ ($x>>$j); //xor
$data2[$i] = $data2[$i] | ($bit<<$j); //or
}
}
$data2 = implode("",$data2);
}
function xxTo($name1,$name2)
{
$file1 = fopen($name1, "rb");
$file2 = fopen($name2, "wb");
$data2 = '';
$data1 = fread($file1, 8192);
$bit = ~($data1[0]>>7);
yyTo($data1,$data2,$bit);
//echo $data2;
echo strlen($data2);
fwrite($file2,$data2);
while (!feof($file1))
{
$data1 = fread($file1, 8192);
yyTo($data1,$data2,$bit);
fwrite($file2,$data2);
}
fclose($file1);
fclose($file2);
}
xxTo("aaa","bbb"); |
||
|
Časová prodleva: 13 let
|
|||
0