java - Java for android 中的十六进制字符串到 Base64 字符串
问题描述
我正在努力在 java 中将十六进制字符串转换为 base64 字符串。我已经尝试过这个答案,但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中必须有某种方法来获得这个。您的帮助将不胜感激。
解决方案
推荐阅读
- boost-process - 为什么我不能为 boost::process::on_exit 编译分配?
- swift - 我可以从uiview的初始化到它的superview创建约束吗
- java - 如果存在则列为流,否则不更新列表?
- python - (熊猫)如何根据三个相似的数据列创建唯一标识符,其中顺序无关紧要?
- botframework - 发布机器人的问题
- r - R包:演示一个失败的例子
- javascript - 对于给定的时间和偏移量;在javascript中转换为UTC
- html - 如何在 XML 中进行分页?(奥多 10)
- python - 如何在 python 中使用 xlsxwriter 创建 log(x) 图?
- javascript - Qualtrics:如何将管道文本叠加到图像/图形上?