0

関数を使用rtim()して、文字列の末尾から null char を削除します。

元:

$decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $encrypted, MCRYPT_MODE_CBC, $iv), "\0");

で例を見ましたrtrim($toBeTrimed , "\0\4")。それがヌル文字であることは知って"\0"いますが、意味がわかりません"\0\4"

私の質問は、どういう意味"\4"ですか"\0\4"

4

1 に答える 1

1

二重引用符で囲まれた文字列内の PHP では、これは文字の 8 進数です (C 文字。ASCII を参照)。

\[0-7]{1,3}- 正規表現に一致する文字列が 8 進数表記の文字である

あなたの場合、"\0\4"文字は8進数0と8進数4の2文字です。

  • \0- NUL 文字
  • \4- EOT (End Of Transmission) 文字

この場合rtrim、文字列の右側から NUL および EOT 文字が削除されることを意味します (それらのいずれかがある場合)。

同様に参照してください:

于 2013-09-06T10:45:24.907 に答える