我有一个字符串像这样:
[0-9A-Za-z\+/=]*
如何将其转换成以下形式:
"\133\x30\55\x39\101\x2d\132\x61\55\x7a\134\x2b\57\x3d\135\x2a"
有没有这方面的功能?
我有一个字符串像这样:
[0-9A-Za-z\+/=]*
"\133\x30\55\x39\101\x2d\132\x61\55\x7a\134\x2b\57\x3d\135\x2a"
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\+/=]*");
上面的代码会给你
\x5b\x30\x2d\x39\x41\x2d\x5a\x61\x2d\x7a\x5c\x2b\x2f\x3d\x5d\x2a
我知道它的输出看起来并不像你期望的那样,但这似乎根本不是将字符串转换为十六进制。
$char = (++$i%2) ? "\x".dechex(ord($char)) : "\\".decoct(ord($char));