Я пытаюсь преобразовать шестнадцатеричную строку в строку base64 в java. Я уже пробовал этот ответ , но Hex.decodeHex
показывает ошибки.
byte[] decodedHex;
byte[] encodedHexB64;
try {
decodedHex = Hex.decodeHex("1234567890123458");
encodedHexB64 = Base64.encodeBase64(decodedHex);
System.out.println("FINAL ENCODED STRING -> "+encodedHexB64.toString());
.
..}
Сбрасывает ниже ошибки
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NoSuchMethodError: No static method decodeHex(Ljava/lang/String;)[B in class Lorg/apache/commons/codec/binary/Hex; or its super classes (declaration of 'org.apache.commons.codec.binary.Hex' appears in /system/framework/org.apache.http.legacy.boot.jar)
Я также пытался преобразовать его в байтовый массив, а затем преобразовать в строку base64, но это также не работает для меня.
byte[] decodedHex;
byte[] encodedHexB64;
try {
decodedHex = hexStringToByteArray(finalString); // finalString = 1234567890123458
encodedHexB64 = Base64.encodeBase64(decodedHex);
System.out.println("FINAL ENCODED STRING -> "+encodedHexB64.toString());
.
..}
// Desired output = EjRWeJASNFg=
// But actual output is FINAL ENCODED STRING -> [B@173943
проверка того же входа здесь дает желаемый результат
Я также пытался использовать Rhino для использования javascript окружения, чтобы получить это значение из функций javascript, но это также не работает для меня. В java должен быть какой-то способ получить это. Ваша помощь будет оценена.