Вы можете использовать libb64 для кодирования base64 вашего ввода, однако кодировка base64 довольно стандартна, поэтому я подозреваю, что вы, возможно, делаете что-то не так, когда говорите, что другие библиотеки производят кодировки, несовместимые с PHP.
Вы пытались записать данные в кодировке base64 в файл, а затем прочитать их с помощью PHP?Таким образом, вы можете, по крайней мере, исключить (на первый взгляд маловероятный) шанс несовместимости кодирования.
РЕДАКТИРОВАТЬ:
Из дополнительной информации, которую вы разместили, похоже, что вы не правильно кодируете URLданные base64 перед отправкой в HttpSendRequest.Base64, хотя и основанный на тексте, все еще использует некоторые символы, которые имеют другое значение в кодировке URL,
Прочитайте this для объяснения кодировки.Я подозреваю, что именно поэтому + в вашей базовой строке 64 отсутствуют, когда они поступают в PHP, так как кодировка + в URL фактически означает пробел.
Итак, вы должны попробовать кодировать строку URL перед отправкой вHttpSendRequest.Я не могу назвать какие-либо API, чтобы сделать это на макушке, но это должно быть достаточно просто, чтобы написать тот, который заботится обо всех символах base64.По крайней мере, вам нужно заменить экземпляры +
на %2B
Кажется, что PHP выполняет расшифровку для вас, так что перед отправкой необходимо только кодировать, скореечем декодирование при получении.