| Autor | Zpráva | ||
|---|---|---|---|
| Testing Profil * |
Je nejaká možnosť, prekódovať zadané znaky do číselnej hodnoty ?
Napr. function num2($hodnota_preoduj) {
//$hodnota_preoduj akcie z premennou
}
echo num2("FUNKCIA"); // return napr. 12345Moderátor Majkl578: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na
). |
||
| etexweb Profil |
#2 · Zasláno: 13. 12. 2011, 16:56:25 · Upravil/a: etexweb
Niečo podobné je v manuáli, viď - function.chr()
|
||
| Darker Profil |
#3 · Zasláno: 13. 12. 2011, 17:06:24 · Upravil/a: Darker
Testing:
„Je nejaká možnosť, prekódovať zadané znaky do číselnej hodnoty ?“ ASCII například. Nebo binární kód: 01000001011100110110100100100000011101000110000101101011011010000110110001100101001000000111001101100101001000000111010001101111001000000110010001100101011011000110000100101110 Zdroj. Kód využívá funkci zmíněnou etexwebem akorát pak konvertuje na binární soustavu. Každý znak má 8bitů. |
||
| Majkl578 Profil |
#4 · Zasláno: 14. 12. 2011, 19:37:48 · Upravil/a: Majkl578
Testing:
„do číselnej hodnoty“ Asi bys měl prvně definovat co je číselná hodnota a co má být výstupem. Těžko říct co jsi myslel, osobně bych si asi představil konverzi do šestnáctkového zápisu ( \x..) a vypsání takového stringu.
Tedy např. takto: $input = 'Lorem ipsum dolor sit amet.';
$output = '';
for ($i = 0, $len = strlen($input); $i < $len; $i++) {
$output .= '\\x' . dechex(ord($input[$i]));
}
var_dump($output);\x4c\x6f\x72\x65\x6d\x20\x69\x70\x73\x75\x6d\x20\x64\x6f\x6c\x6f\x72\x20\x73\x69\x74\x20\x61\x6d\x65\x74\x2e etexweb: Asi jsi myslel ord. Darker: To je otřesný kód. Můžeš vysvětlit, proč na něj odkazuješ a nevložíš ho přímo sem? Abys tam v budoucnu mohl dělat reklamu nebo podobná zvěrstva? Z čistě preventivních a archivních důvodů jej pro jistotu přikládám sem: <?php
header("Content-Type:text/plain");
if(!isset($_GET['str']))$_GET['str']="string";
$string = $_GET['str'];
if(!isset($_GET['bin']))$_GET['bin']="01110011";
$bin = $_GET['bin'];
$binary="";
$text="";
for($i = 0; $i < strlen($string); $i++) {
$BACT=base_convert(ord($string[$i]),10,2);
while(strlen($BACT)<8)$BACT="0$BACT";
$binary.=$BACT;
//echo $BACT.PHP_EOL;
$text.=$BACT;
}
echo $text;
if(strlen($text)>80)die();
//echo $binary;
echo PHP_EOL."___________________________________________________".PHP_EOL;
//$string = preg_replace ('/(\d+)/e', 'base_convert (\\1, 10, 2)', $string);
$bin = preg_replace ('~[^0-1]~', '', $bin);
if(strlen($bin)%8!=0)
die("Data must be dividible by 8.".PHP_EOL.$bin);
echo "Converting binary to readable text:".PHP_EOL;
//echo $string;
//$bin=$binary;
for($i = 0; $i < strlen($bin); $i+=8) {
$piece=substr($bin,$i,8);
//echo "--------\$i=$i---------".PHP_EOL.$piece.PHP_EOL;
echo chr(base_convert((int)$piece,2,10));
}
function str2bin($string){
$binary="";
for($i = 0; $i < strlen($string); $i++) {
$BACT=base_convert(ord($string[$i]),10,2);
while(strlen($BACT)<8)$BACT="0$BACT";
$binary.=$BACT;
}
return $binary;
}
function bin2str($bin){
$bin = preg_replace ('~[^0-1]~', '', $bin);
$text="";
for($i = 0; $i < strlen($bin); $i+=8) {
$piece=substr($bin,$i,8);
$text.=chr(base_convert((int)$piece,2,10));
}
return $text;
}
?>011100110111010001110010011010010110111001100111 ___________________________________________________ Converting binary to readable text: Asi takhle se to dela. |
||
| Darker Profil |
#5 · Zasláno: 14. 12. 2011, 22:15:00
Majkl578:
„Abys tam v budoucnu mohl dělat reklamu nebo podobná zvěrstva?“ Koukám že PetrZZZ není jediný kdo trpí paranoiou. Kód je cca rok starý, ekontroloval jsem ho, jen jsem si na něj v souvislosti s tímto vláknem vzpoměl. Vzhledem k tomu že funguje lze kód snadno upravit do neotřesné podoby. |
||
|
Časová prodleva: 15 let
|
|||
0
).