私はbase64_decode
この文字列にPHPを使用しています:
Dg+to8RaC3VzAGRThP7iiXe0f5bgp7xmcQoqaAJxggs=
32バイトのデータを返す必要があります。しかし、どういうわけか、私はたった31バイトの長さの文字列になってしまいます。
これは私がしていることです:
$data = base64_decode($data);
if($data == FALSE)
{
die("decode faild");
}
問題は、デコードが実際に機能することです。ただし、返されるのは31バイトだけです。これを行う$len = strlen($data);
と$len
、32文字ではなく31文字が含まれます。
次の文字列で(奇妙なことに)中華なべをします:
az8XFgxw/ODAr3EDElvgab/axINKVMDCrw5u51gn6bo=
urlencode
デコード後base64
とデコード前にすでに試しましたurldecode
が、結果はまったく同じでした(動作しましたが、1バイトが省略されました)
私は何が欠けていますか?
編集:私はすべてのバイトを印刷しました。それは本当に最後のバイトを省略します!0x0B
(最後のバイト)が欠落していますが、他のバイトはあります。
編集2:追加のテストで次のようになります。1。base64文字列をPHPファイルに直接埋め込むと、常に機能します。2.変数base64
から文字列を取得すると、$_GET
機能しない場合があります。
$_GET
壊れていますか?