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. 12345 Moderá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: 12 let
|
0