PHP字符串到十六进制

Mer*_*kos 6 php encoding character-encoding

我有一个这样的字符串:

[0-9A-Za-z\+/=]*
Run Code Online (Sandbox Code Playgroud)

我怎样才能转换成以下形式:

"\133\x30\55\x39\101\x2d\132\x61\55\x7a\134\x2b\57\x3d\135\x2a"
Run Code Online (Sandbox Code Playgroud)

那有什么功能吗?

kba*_*kba 11

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\+/=]*");
Run Code Online (Sandbox Code Playgroud)

上面的代码会给你

\x5b\x30\x2d\x39\x41\x2d\x5a\x61\x2d\x7a\x5c\x2b\x2f\x3d\x5d\x2a
Run Code Online (Sandbox Code Playgroud)

我知道它看起来不像你期望的输出,但似乎根本不是字符串到十六进制.