Следующий Java код:Base64 в Java и PHP
String ss = Base64.encodeBase64URLSafeString(xmlRequest.getBytes());
System.out.println(ss);
Производит:
PHJlcXVlc3Q-PG1lcmNoYW50X2lkPjQ2PC9tZXJjaGFudF9pZD48b3JkZXJfaWQ-MzM8L29yZGVyX2lkPjxhbW91bnQ-MzwvYW1vdW50PjxkZXNjcmlwdGlvbj5oZWhlPC9kZXNjcmlwdGlvbj48L3JlcXVlc3Q-
Хотя это PHP код:
$xml='<request><merchant_id>46</merchant_id><order_id>33</order_id><amount>3</amount><description>hehe</description></request>';
$xml_encoded = base64_encode($xml);
Производит: PHJlcXVlc3Q + PG1lcmNoYW50X2lkPjQ2PC9tZXJjaGFudF9pZD48b3JkZXJfaWQ + MzM8L29yZGVyX2lkPjxhbW91bnQ + MzwvYW1vdW50PjxkZXNjcmlwdGlvbj5oZWhlPC9kZXNjcmlwdGl vbj48L3JlcXVlc3Q +
Один из них имеет -
символов, а другой имеет +
. Откуда эта разница?
См. [Мой ответ] (http://stackoverflow.com/a/34976227/2071828) - не используйте тайные библиотеки третьей части, если в JDK есть объекты. –