PHP base64 解码返回垃圾字符

mag*_*iam 4 php

我正在解码用 Python 编码的字符串。

\n\n

使用在线模拟器进行解码时: https: //www.base64decode.org/

\n\n

显示了正确的值,但是当我使用 PHP 对其进行解码时base64_decode它返回垃圾字符:

\n\n
\n

["(","bean_id","=\xef\xbf\xbd\xef\xbf\xbdM\xef\xbf\xbdMM\xcc\x8bLY \xef\xbf\xbdKM X\xef\xbf\xbdKNX\xef\xbf \xbd\xef\xbf\xbdKY\xef\xbf\xbd\xef\xbf\xbdX\xef\xbf\xbd\xef\xbf\xbdL\xd8\x8d \xef\xbf\xbd\xef\xbf\xbdH\xef \xbf\xbd

\n
\n\n

我猜这与我的字符集有关?

\n\n

编码后的字符串:

\n\n
\n

WyIoIiwiYmVhbl9pZCIsIj0+IiwiMDAxN2E1NzItMWQ2NS00NWJhLTljNzEtZGRmNmFiMzkzYjQ0IiwiKSJd

\n
\n\n

使用在线模拟器解码时会产生以下结果:

\n\n
\n

[“(”,“bean_id”,“=>”,“0017a572-1d65-45ba-9c71-ddf6ab393b44”,“)”]

\n
\n\n

我的代码:

\n\n
$page = $_GET[\'code\'];\n$plainText = base64_decode($page);\n\necho $plainText;\n
Run Code Online (Sandbox Code Playgroud)\n\n

附加信息:

\n\n

当我从 url 获取字符串时出现问题。

\n

mag*_*iam 5

我正在使用以下方法获取 URL 中的字符串$_GET

由于它位于 URL 中,因此+将被转换为 (空格)

这就是造成垃圾角色的原因。

urlencode为了避免这个问题,我现在正在做的是在我的字符串上使用after $_GET,以便转换后的字符将返回到其原始形式。

工作到很晚确实有它的缺点。谢谢大家。