Ho una stringa del genere:stringa di PHP in esadecimale
[0-9A-Za-z\+/=]*
Come posso convertito nella forma seguente:
"\133\x30\55\x39\101\x2d\132\x61\55\x7a\134\x2b\57\x3d\135\x2a"
C'è una funzione per questo?
Ho una stringa del genere:stringa di PHP in esadecimale
[0-9A-Za-z\+/=]*
Come posso convertito nella forma seguente:
"\133\x30\55\x39\101\x2d\132\x61\55\x7a\134\x2b\57\x3d\135\x2a"
C'è una funzione per questo?
function strtohex($string)
{
$string = str_split($string);
foreach($string as &$char)
$char = "\x".dechex(ord($char));
return implode('',$string);
}
print strtohex("[0-9A-Za-z\+/=]*");
Il codice di cui sopra vi darà
\x5b\x30\x2d\x39\x41\x2d\x5a\x61\x2d\x7a\x5c\x2b\x2f\x3d\x5d\x2a
Sono consapevole che non sembra l'output che ci si aspetta, ma che non sembra essere una stringa esadecimale a tutti.
Fantastico! Grazie ! :) Segnerò la risposta come risposta dopo la limitazione di 5 minuti :) –
Se si desidera eseguire tale offuscamento della stringa, utilizzare qualcosa come @Kristians. E puoi alternare tra i due metodi di codifica con e.g .:
$char = (++$i%2) ? "\x".dechex(ord($char)) : "\\".decoct(ord($char));
Qual è la tua regola schizofrenica per decidere se vuoi la forma esadecimale o la forma decimale? –