java - 为什么对 Base64 类的调用会返回不同的结果?

标签 java base64

我的代码:

private static String convertToBase64(String string)
{
    final byte[] encodeBase64 =
            org.apache.commons.codec.binary.Base64.encodeBase64(string
                    .getBytes());
    System.out.println(Hex.encodeHexString(encodeBase64));

    final byte[] data = string.getBytes();
    final String encoded =
            javax.xml.bind.DatatypeConverter.printBase64Binary(data);
    System.out.println(encoded);

    return encoded;
}

现在我调用它:convertToBase64("stackoverflow"); 并得到以下结果:

6333526859327476646d56795a6d787664773d3d
c3RhY2tvdmVyZmxvdw==

为什么我得到不同的结果?

最佳答案

我认为 Hex.encodeHexString 会将您的字符串编码为十六进制代码,第二个是普通字符串

关于java - 为什么对 Base64 类的调用会返回不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11360307/

相关文章:

outlook - VML base64 图像

php - Base64 电子邮件附件未上传

java - 使用实例变量 java 的多线程

java - Apache 的 Base64.encodeBase64 和 Android 的 Base64.encode 与 Base64.Default 标志之间有什么区别吗?

java - 抛出异常以使堆栈跟踪不包含某些类类型

Java编译器给出一个奇怪的错误

base64 - 在 Inno Setup 中将字符串编码为 Base64(Inno Setup 的 Unicode 版本)

javascript - 使用 Base64 图像数据 URI 作为 POST 的输入

java - 如何选择图像的一部分并将该部分保存到文件中

java - 删除放置在其他正则表达式匹配项中的正则表达式匹配项